ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

15.10.2009, 16:46
|
|
Новичок
Регистрация: 24.10.2008
Сообщений: 17
Провел на форуме: 39116
Репутация:
1
|
|
Ребят мне нужно написать прогу на C++. Программа должна объеденять два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию!(первый и второй массив заполняются с клавиатуры)
Например:
x[]={1,2,3}
y[]={4,5,6}
z-массив должен получиться после склеивания {1,2,3,4,5,6}
|
|
|

15.10.2009, 22:18
|
|
Познающий
Регистрация: 15.03.2009
Сообщений: 77
Провел на форуме: 984248
Репутация:
73
|
|
2 krewger
Код:
#include <iostream> //библиотека потокового ввода/вывода
#include <conio.h> //нужно для использования getch()
using namespace std;//для работы iostream нам нужно выбрать пространство имён std
int main(){
int i,j,a,b,p;
cout << "BBeguTE pa3Mep MACCuBA X"<<endl;
cin >> a;
cout << "BBeguTE pa3Mep MACCuBA Y"<<endl;
cin >> b;
int X[a];
int Y[b];
int Z[a+b];
cout << "BBeguTE E/|EMEHTb| MACCuBA X"<<endl;
for(i=0;i<a;i++){
cin >> X[i];}
cout << "BBeguTE E/|EMEHTb| MACCuBA Y"<<endl;
for(i=0;i<b;i++){
cin >> Y[i];}
//Вносим элементы массивов Х и Y в массив Z
for(i=0;i<a;i++){
Z[i]=X[i];}
for(i=0;i<b;i++){
Z[i+a]=Y[i];}
//Сортируем массив Z пузырьковым методом (см.Пузырьковая сортировка)
for(j=0;j<(a+b);j++){
for(i=0;i<(a+b);i++){
if(Z[i]>Z[i+1]){
p=Z[i];
Z[i]=Z[i+1];
Z[i+1]=p;
}
}
}
//Выводим получившийся массив на экран
for(i=0;i<(a+b);i++){
cout << Z[i] << " ";}
getch();//Ожидание нажатия любой клавиши
return 0;
}
П.С. Метод пузырьковой сортировки самый простейший (не оптимизированный)
|
|
|

17.10.2009, 11:23
|
|
Участник форума
Регистрация: 07.06.2009
Сообщений: 125
Провел на форуме: 650073
Репутация:
99
|
|
Ассемблер Для ДОС
1. Разработать программу реализующую указанную формулу, исполнить программу с несколькими ( три - четыре) наборами исходных данных, проверить правильность результатов.
Х= 3(А - 2В) +50 – С / 2
2. Найти наименьшее среди положительных чисел. Массив слов.
3. Дан массив из 6 байт. Посчитать количество байт, число единиц в которых не превышает 3.
4. Ввести с клавиатуры строку. Преобразовать все буквы в числа. По-строить криптограмму (вместо букв вывести на экран соответствующие им числа).
5. Разработать подпрограмму, которая преобразует заданное десятичное число в двоичную систему. Разработать программу, которая вводит с клавиатуры строку десятичных цифр и выводит на экран её эквивалент в двоичной системе. Если строка не является числом, то сообщает об этом.
Сам знаю что ничего сложного, но блин срочная командировка в Москву((
Последний раз редактировалось regau; 17.10.2009 в 11:52..
|
|
|

17.10.2009, 11:44
|
|
Новичок
Регистрация: 14.10.2009
Сообщений: 1
Провел на форуме: 22503
Репутация:
-5
|
|
C++
нужна программа для перевода в разные системы счисления - десятиричная, двоичная, шестнадцатиричная. кто-нибудь поможет?
|
|
|

17.10.2009, 17:52
|
|
Познающий
Регистрация: 15.03.2009
Сообщений: 77
Провел на форуме: 984248
Репутация:
73
|
|
Сообщение от sim32
C++
нужна программа для перевода в разные системы счисления - десятиричная, двоичная, шестнадцатиричная. кто-нибудь поможет?
Держи
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#pragma hdrstop
//------------------------------------------------
#pragma argsused
int CharToInt(char alpha)
{
if(alpha<58 )
return alpha - 48;
else
return alpha - 55;
}
int ConvertToDec(char *input , int sinp )
{
int sum = 0;
int pow = 1;
for(int i = strlen(input)-1; i>=0; i--)
{
sum+=CharToInt(input[i]) * pow;
pow*=sinp;
}
return sum ;
}
char *convertX(int input, int sout, char *out)
{
while(input!=0)
{
double j = input%sout;
input/=sout;
out--;
if(j<10)
*out = 48 + j;
else
*out = 55 + j;
}
return out;
}
int main(int argc, char* argv[])
{
printf("Vvedite iszhodnoe chislo: " );
char input[32] = "";
scanf("%s", &input);
printf("\nVvedite nachalnuiu codirovku: ");
int sinp;
scanf("%i", &sinp);
printf("\nVvedite conechnuiu codirovku: ");
int sout;
scanf("%i", &sout);
printf("\n\n= ");
char output[32];
output[31] = 0;
printf("%s", convertX(ConvertToDec(input, sinp), sout, output+31));
printf("\n\nNazsmite ljubuju klavisu...");
getch();
return 0;
}
Переводит из любой системы счисления в любую,
даже больше 16ичной(начинают использоваться буквы G H I и т.д. )
Сначала вводим число,затем его начальную систему счисления,затем в какую надо перевести.
Последний раз редактировалось Mozy; 17.10.2009 в 18:00..
|
|
|

17.10.2009, 18:05
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
нужно написать программу на си шарпе:
Вывести на экран все натуральные числа из диапазона от A до B, сумма цифр которых равна S. При отсутствии чисел с указанными свойствами выдать на экран сообщение “Требуемых чисел нет”. Границы диапазона A и B и заданную сумму цифр S ввести с клавиатуры
Знаю, что не очень сложная...но всё же...))
|
|
|

18.10.2009, 12:22
|
|
Постоянный
Регистрация: 15.03.2008
Сообщений: 441
Провел на форуме: 2052341
Репутация:
95
|
|
задача все еще актуальна....)
|
|
|

18.10.2009, 13:08
|
|
Познающий
Регистрация: 02.09.2007
Сообщений: 67
Провел на форуме: 521298
Репутация:
20
|
|
Имеется программа:
Код:
Program TitanovieIaica;
Var chislo,i,vivod,number,delit,kolvo:integer;
Begin
vivod:=0; //вывод целого числа, показывающего номера полож членов послед
i:=1; //счетчег
delit:=1; //делитель для разбиения числа
kolvo:=1; //переменная для счетчика цифр
repeat //цикл для ввода цифр последовательности
writeln('Vvedite chislo posledovatelnosti:');
readln(chislo); //вводим число
if chislo>0 then //проверка - положительное ли число, если да, то
Begin
vivod:=vivod*10+i; //тут формируем число ,В котором каждая циыра - номер положительного члена последов.
End;
i:=i+1; //этим счетчиком определяется номер полож. члена в последов.
until chislo=0; //если член последов = 0, то завершаем ввод
if vivod>10 then //если чисел было больше чем 1, то
Begin
number:=vivod; //присваиваем переменной для подсчета кол-ва цифр знач. числа с номерами членов
while number>10 do //пока число >10 выполняем:
Begin
number:=number div number; //целочисленное деление на 10
kolvo:=kolvo+1; //подсчет количества цифр
end;
repeat
delit:=delit*10; //считаем первый делитель
kolvo:=kolvo-1;
until kolvo=1;
End
else writeln('Nomer posledovatelnosti:',vivod);// если число было1, то выводим его
while vivod>10 do //тут разбиваем число с нормерами членов последовательности на цифры если оно больше 10
begin
write(vivod div delit, ' ');//выводим член последовательности
vivod:=vivod mod delit; //убираем из числа выведенную цифру
delit:=delit div 10; //убираем из делителя 0
end;
write(vivod); //выводим последнюю цифру числа
END.
Результат:
Код:
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
2
Vvedite chislo posledovatelnosti:
0
1234 5
Как сделать не используя стринги, чтобы отображалось так:
Результат:
Код:
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
12
Vvedite chislo posledovatelnosti:
2
Vvedite chislo posledovatelnosti:
0
1 2 3 4 5

|
|
|

18.10.2009, 18:21
|
|
Познающий
Регистрация: 10.02.2009
Сообщений: 40
Провел на форуме: 59352
Репутация:
0
|
|
Нужна помощь!
Задачка на Turbo Pascale помогите осилить.
Задание:
Разработать программу табулирования функций для произвольного диапазона изменения независимого параметра или аргумента.Выполнить расчет для использованных исходных значенийж: х=1-2*cos(a*y)+ln(y), a=log2(y),y є [П;2*П] ∆y=П/4
Результаты вывести в следующем виде:
Значение аргумента,значение вспомагательной функции и результата.
В программу включить ввод исходных данных и проверку диапазона от -100 до 100.Начальное значение меньше конечного, шаг разности от начального и конечного.
|
|
|

18.10.2009, 18:49
|
|
Познающий
Регистрация: 09.03.2009
Сообщений: 43
Провел на форуме: 549532
Репутация:
53
|
|
Прошу помогите с двумя лабами!
2. Список.
НОВЫЕ ПОНЯТИЯ: шаблон, понятие итератора.
Реализовать динамический список элементов типа T (T -- параметр).
Реализовать:
[на "тройку"] минимальный набор:
операции вставки элемента в начало и конец списка; удаления первого и последнего элемента; деструктор, освобождающий всю выделенную память; запретить использование конструктора копирования и оператора присваивания.
[на "четвёрку"] возможность перебора элементов:
класс-итератор, перебирающий элементы списка при вызове оператора ++
[на "пятёрку"] копирование списков:
корректно работающие конструктор копирования и оператор присваивания.
-----------------------------------------------------------------------------
3. Символьное дифференцирование.
НОВЫЕ ПОНЯТИЯ: наследование, виртуальные методы.
[на "тройку"]
Реализовать абстрактный класс Expression с чисто виртуальными методами Expression *diff(); void print(); реализовать классы Number, Variable, Add (сумма), Sub (разность) с реализациями операции diff (дифференцирование) и print (печать на экран).
Пример:
Expression *e = new Add(new Number(1), new Variable('x'));
e->print();
std::cout << "\n";
Expression *de = e->diff();
de->print();
std::cout << "\n";
delete e;
delete ed;
[на "четвёрку"]
Реализовать классы Mul (произведение), Div (частное), при желании функции типа Sin, Cos и т.п.
[на "пятёрку"]
Реализовать чтение выражения из строки с автоматическим созданием необходимых объектов.
Пример:
Expression *e = read_expression("(x+1)*x");
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|