Ребят мне нужно написать прогу на C++. Программа должна объеденять два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию!(первый и второй массив заполняются с клавиатуры) Например: x[]={1,2,3} y[]={4,5,6} z-массив должен получиться после склеивания {1,2,3,4,5,6}
2 krewger Code: #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; } П.С. Метод пузырьковой сортировки самый простейший (не оптимизированный)
Ассемблер Для ДОС 1. Разработать программу реализующую указанную формулу, исполнить программу с несколькими ( три - четыре) наборами исходных данных, проверить правильность результатов. Х= 3(А - 2В) +50 – С / 2 2. Найти наименьшее среди положительных чисел. Массив слов. 3. Дан массив из 6 байт. Посчитать количество байт, число единиц в которых не превышает 3. 4. Ввести с клавиатуры строку. Преобразовать все буквы в числа. По-строить криптограмму (вместо букв вывести на экран соответствующие им числа). 5. Разработать подпрограмму, которая преобразует заданное десятичное число в двоичную систему. Разработать программу, которая вводит с клавиатуры строку десятичных цифр и выводит на экран её эквивалент в двоичной системе. Если строка не является числом, то сообщает об этом. Сам знаю что ничего сложного, но блин срочная командировка в Москву((
C++ нужна программа для перевода в разные системы счисления - десятиричная, двоичная, шестнадцатиричная. кто-нибудь поможет?
Держи Code: #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 и т.д. ) Сначала вводим число,затем его начальную систему счисления,затем в какую надо перевести.
нужно написать программу на си шарпе: Вывести на экран все натуральные числа из диапазона от A до B, сумма цифр которых равна S. При отсутствии чисел с указанными свойствами выдать на экран сообщение “Требуемых чисел нет”. Границы диапазона A и B и заданную сумму цифр S ввести с клавиатуры Знаю, что не очень сложная...но всё же...))
Имеется программа: Code: 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 [COLOR=Blue]write(vivod div delit, ' ');//выводим член последовательности vivod:=vivod mod delit; //убираем из числа выведенную цифру delit:=delit div 10; //убираем из делителя 0 end; write(vivod); //выводим последнюю цифру числа[/COLOR] END. Результат: Code: Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 2 Vvedite chislo posledovatelnosti: 0 [COLOR=Blue]1234 5[/COLOR] Как сделать не используя стринги, чтобы отображалось так: Результат: Code: Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 12 Vvedite chislo posledovatelnosti: 2 Vvedite chislo posledovatelnosti: 0 [COLOR=Blue]1 2 3 4 5[/COLOR]
Нужна помощь! Задачка на Turbo Pascale помогите осилить. Задание: Разработать программу табулирования функций для произвольного диапазона изменения независимого параметра или аргумента.Выполнить расчет для использованных исходных значенийж: х=1-2*cos(a*y)+ln(y), a=log2(y),y є [П;2*П] ∆y=П/4 Результаты вывести в следующем виде: Значение аргумента,значение вспомагательной функции и результата. В программу включить ввод исходных данных и проверку диапазона от -100 до 100.Начальное значение меньше конечного, шаг разности от начального и конечного.
Прошу помогите с двумя лабами! 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");
Помогите разобраться плиз, а то постоянно ошибки выдает и если второе условие не выполняется то должно выводится соответствующее сообщение: program primer; var f,x:real; begin writeln('Vvedite luboe chislo'); writeln('x='); readln(x); if x > 0 then begin f := exp (3*ln(x)) / sqrt(3) - exp (x) * abs (ln (exp (3*ln(1,37)))) + exp(3*ln(x)) + 4/3; writeln ('f=',f); end; if x < = 0 then begin writeln ('else'); f := ( exp (3*ln(x))) + sqrt (7)) / cos (x - 2 * Pi) - abs ( ln (exp (3*ln(x)))) + 4 * (sin(x)/cos(x)); writeln ('f=',f); writeln ('Uslovie ne vipolnaetsa'); end; readln; end.
Вот попробуй так: Code: program primer; var f,x:real; begin writeln('Vvedite luboe chislo'); writeln('x='); readln(x); if x > 0 then begin f := exp (3*ln(x)) / sqrt(3) - exp (x) * abs (ln (exp (3*ln(1.37)))) + exp(3*ln(x)) + (4/3); writeln ('f=',f); end; if x <= 0 then begin writeln ('else'); f := ( exp (3*ln(x))) + sqrt (7) / cos (x - 2 * Pi) - abs ( ln (exp (3*ln(x)))) + 4 * (sin(x)/cos(x)); writeln ('f=',f); writeln ('Uslovie ne vipolnaetsa'); end; readln; end. Нужны было подправить несколько логических ошибок
Все так только нужно чтобы при вводе о или какого нибудь отрицательнного числа ошибка невыскакивала.А появлялось сообщение что условие невыполняется!
Я на Паскале не "бум-бум", но вроде бы так: Code: program atob; uses CRT; var a,b,n1,n2,i,sum:integer; begin clrscr; writeln('Vvedite chislo a '); readln(a); writeln('Vvedite chislo b '); readln(b); n1:=13; n2:=5; for i:=a to b do begin if ((i mod n1)=0) AND ((i mod n2)=0) Then sum:=sum+i; end; writeln('summa ravna => ' , sum); readln(i); end.
Вывести на экран все натуральные трехзначные и пятизначные числа из диапазона от A до B, значение которых кратно 13. При отсутствии чисел с указанными свойствами выдать на экран сообщение “Требуемых чисел нет”. Границы диапазона A и B ввести с клавиатуры. язык - си шарп. Буду очень благодарен
вот мой код, но он очень странно пашет, постоянно выводит 1000 Code: int a, b, tr, pt,ost1,ost2,ml,st; Console.WriteLine("Введите начало диапа,а"); a = int.Parse(Console.ReadLine()); Console.WriteLine("Введите конец диапазона,в"); b = int.Parse(Console.ReadLine()); for (a = a; a <= b; a++) for( ml=1;ml<=9;ml++) for (st = 0; st <= 9; b++) { tr = 100 * ml + st; pt = 10000 * ml + st; ost1 = tr % 13; ost2 = pt % 13; if (ost1 == 0) if (ost2 == 0) Console.WriteLine(tr); Console.WriteLine(pt); else Console.WriteLine("таких чисел нет"!); } Console.ReadLine(); парни, срочно, помогите!)
Code: class Program { static void Main(string[] args) { int k = 0; Console.WriteLine("Minimum: "); int a = int.Parse(Console.ReadLine()); Console.WriteLine("Maximum: "); int b = int.Parse(Console.ReadLine()); if (a <= b) { for (int i = a; i <= b; i++) { if ((i % 13 == 0) && ((i>=100 && i<=999) || (i>=10000 && i<=99999))) { Console.WriteLine(i); k++; } } if (k < 1) { Console.WriteLine("No recuired Numbers"); } } else Console.WriteLine("Minimum is bigger then Maximum"); Console.ReadLine(); } } }