Сформировать линейный массив из 30 случайных чисел в интервале от -16 до 16 - Free Pascal
Формулировка задачи:
Сформировать линейный массив из 30 случайных чисел в интервале от -16 до 16.Найти среднее арифметическое положительных элементов.Все элементы кратные 3 заменить удвоенным значением этих элементов и скопировать в новый массив.В новом массиве найти номер и значение минимального элемента все результаты вывести на экран.
Решение задачи: «Сформировать линейный массив из 30 случайных чисел в интервале от -16 до 16»
textual
Листинг программы
const n = 30; var ArrA, ArrB: Array[1..n] of Integer; Count, Summa, Min: Integer; i, j: Byte; begin Randomize; Summa:=0; Count:=0; Min:=1; j:=0; writeln('Массив: '); for i:=1 to n do begin ArrA[i]:=Random(32)-16; if ArrA[i] > 0 then begin Inc(Summa, ArrA[i]); Inc(Count); end; if ArrA[i] mod 3 = 0 then begin Inc(j); ArrB[j]:=ArrA[i] * 2; end; write(ArrA[i], ' '); end; writeln; writeln('Среднее положительных: ', (Summa / Count):0:2); writeln('Массив: '); for i:=1 to j do write(ArrB[i], ' '); end.
Объяснение кода листинга программы
- Объявляются константы и переменные: — n = 30 (количество элементов в массиве); — ArrA, ArrB = Array[1..n] of Integer (два массива для хранения чисел); — Count, Summa, Min = Integer (переменные для подсчета количества положительных чисел и их суммы, а также для хранения минимального положительного числа); — i, j = Byte (переменные для цикла);
- Выполняется инициализация генератора случайных чисел: Randomize;
- В первой переменной цикла перебираются все элементы массива ArrA: for i:=1 to n do
- Каждый элемент массива ArrA заполняется случайным числом в диапазоне от -16 до 16: ArrA[i]:=Random(32)-16;
- Если полученное число положительное, то к сумме положительных чисел (Summa) добавляется его значение, а также увеличивается счётчик положительных чисел (Count): if ArrA[i] > 0 then begin Inc(Summa, ArrA[i]); Inc(Count); end;
- Если полученное число делится на 3 без остатка, то к сумме элементов массива ArrB добавляется его значение, умноженное на 2, а также увеличивается счётчик элементов массива ArrB (j): if ArrA[i] mod 3 = 0 then begin Inc(j); ArrB[j]:=ArrA[i] * 2; end;
- В каждой итерации цикла выводится значение элемента массива ArrA с пробелом в конце: write(ArrA[i], ' ');
- После завершения цикла выводится средняя величина положительных чисел (Summa / Count): writeln('Среднее положительных: ', (Summa / Count):0:2);
- Во второй переменной цикла перебираются все элементы массива ArrB: for i:=1 to j do
- В каждой итерации цикла выводится значение элемента массива ArrB с пробелом в конце: write(ArrB[i], ' ');
- Цикл завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д