Напишите программу, которая заполняет массив случайными целыми числами - 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, то число добавляется в массив.
- Если цикл закончился и в массиве нет чисел с такой суммой цифр, выводится сообщение
Нет чисел с такой суммой цифр
. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д