program parampampam; uses crt; var i: integer; {счетчик} s: integer; begin clrscr; {очистка экрана} writeln ('Программа выводит числа от 1 до 99, сумма цифр которых равна числу S'); writeln ('Введите число S, от 0 до 18: '); {ввод числа S с проверкой на корректность} repeat readln (s); if (s>18) or (s<0) then writeln ('Неверный ввод. Повторите') until (s<=18) and (s>=0); {вывод нужных чисел на экран (цикл с предусловием)} for i := 1 to 99 do if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления} write (i, ' '); repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши} end.
#include <iostream> #include <iomanip> using namespace std;
int main() { int n,k; cout<<"n = "; cin>>n; int a[n],b[n]; srand(time(NULL)); // запись в массив for (int i=0; i<n; i++) { a[i]=15-rand()%30; cout<<a[i]<<" "; } cout<<endl; // сортировка массива по убыванию for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) if (a[j]>a[i]) swap(a[i],a[j]); // поиск первого отрицательного k=0; while (a[k]>=0) k++; // запись положительных по убыванию for (int i=0; i<k; i++) b[i]=a[i]; // запись отрицательных по возрастанию for (int i=k; i<n; i++) b[i]=a[n-i+k-1]; // вывод массива b for (int i=0; i<n; i++) cout<<b[i]<<" "; cout<<endl; system("pause"); return 0; }