Напишите программу, которая заполняет массив случайными целыми числами - Pascal ABC
Формулировка задачи:
Напишите программу, которая заполняет массив случайными целыми числами, вводит с клавиатуры целое число N и копирует в новый массив все числа из исходного массива, для которых сумма значений всех цифр равна N.
Решение задачи: «Напишите программу, которая заполняет массив случайными целыми числами»
textual
Листинг программы
const nmax=100; function summa(a:integer):integer; var b,s:integer; begin b:=abs(a); s:=0; while b>0 do begin s:=s+b mod 10; b:=b div 10; end; result:=s; end; var a:array[1..nmax] of integer; m,n,i,k:integer; begin randomize; repeat write('Введите размер массива от 2 до ',nmax,' m='); readln(m); until m in [2..nmax]; writeln('Массив'); for i:=1 to m do begin a[i]:=-99+random(1099); write(a[i]:4); end; writeln; repeat write('Введите искомую сумму цифр n>0 n='); readln(n); until n>0; k:=0; for i:=1 to m do if summa(a[i])=n then begin write(a[i]:4); k:=1; end; if k=0 then write('Нет чисел с такой суммой цифр'); end.
Объяснение кода листинга программы
- Создается константа nmax, которая определяет максимальное количество элементов в массиве.
- Создается функция summa, которая принимает целое число и возвращает сумму его цифр.
- Создается переменная a, которая представляет собой массив для хранения случайных целых чисел.
- Создаются переменные m, n, i и k, которые будут использоваться в цикле.
- Цикл repeat используется для запроса размера массива от пользователя.
- В цикле repeat выполняется запрос размера массива от пользователя.
- Цикл repeat используется для заполнения массива случайными целыми числами.
- В цикле repeat выполняется запрос искомой суммы цифр от пользователя.
- Если сумма цифр равна n, то число добавляется в массив.
- Если цикл закончился и в массиве нет чисел с такой суммой цифр, выводится сообщение
Нет чисел с такой суммой цифр
. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д