Сформировать линейный массив из 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.

Объяснение кода листинга программы

  1. Объявляются константы и переменные: — n = 30 (количество элементов в массиве); — ArrA, ArrB = Array[1..n] of Integer (два массива для хранения чисел); — Count, Summa, Min = Integer (переменные для подсчета количества положительных чисел и их суммы, а также для хранения минимального положительного числа); — i, j = Byte (переменные для цикла);
  2. Выполняется инициализация генератора случайных чисел: Randomize;
  3. В первой переменной цикла перебираются все элементы массива ArrA: for i:=1 to n do
  4. Каждый элемент массива ArrA заполняется случайным числом в диапазоне от -16 до 16: ArrA[i]:=Random(32)-16;
  5. Если полученное число положительное, то к сумме положительных чисел (Summa) добавляется его значение, а также увеличивается счётчик положительных чисел (Count): if ArrA[i] > 0 then begin Inc(Summa, ArrA[i]); Inc(Count); end;
  6. Если полученное число делится на 3 без остатка, то к сумме элементов массива ArrB добавляется его значение, умноженное на 2, а также увеличивается счётчик элементов массива ArrB (j): if ArrA[i] mod 3 = 0 then begin Inc(j); ArrB[j]:=ArrA[i] * 2; end;
  7. В каждой итерации цикла выводится значение элемента массива ArrA с пробелом в конце: write(ArrA[i], ' ');
  8. После завершения цикла выводится средняя величина положительных чисел (Summa / Count): writeln('Среднее положительных: ', (Summa / Count):0:2);
  9. Во второй переменной цикла перебираются все элементы массива ArrB: for i:=1 to j do
  10. В каждой итерации цикла выводится значение элемента массива ArrB с пробелом в конце: write(ArrB[i], ' ');
  11. Цикл завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы