Заменить отрицательные элементы, расположенные выше главной диагонали, средним геометрическим положительных - Pascal

Узнай цену своей работы

Формулировка задачи:

Ребят, не могли бы помочь? Есть задача:в матрице a(8,8) заменить отрицательные элементы расположенные выше главной диагонали, средним геометрическим положительных чисел.
Листинг программы
  1. Var
  2. i,j,k:integer;
  3. a:array[1..8,1..8]of integer;
  4. begin
  5. for i:=1 to 8 do
  6. begin
  7. for j:=1 to 8 do
  8. begin
  9. a[i,j]:=random(20);
  10. write (a[i,j]:4);
  11. end;
  12. writeln;
  13. end;
  14. for i:=1 to 8 do
  15. for j:=1 to 8 do
  16.  
  17. writeln;
  18. end.
(В общем, ребят не могли бы помочь, сам чет не допру никак, что нужно изменить или дописать вместо пропуска. А мне срочно эта задача нужна!!! Заранее спасибо огромное!)

Решение задачи: «Заменить отрицательные элементы, расположенные выше главной диагонали, средним геометрическим положительных»

textual
Листинг программы
  1. const
  2.     N = 8;
  3. var
  4.     ar: Array[1..N, 1..N] Of Real;
  5.     i, j: 1..N;
  6.     count: 0..N*N;
  7.     avr: Real;
  8. begin
  9.     Randomize;
  10.     WriteLn('Original array:');
  11.     count := 0; avr := 0;
  12.     for i := 1 to N do
  13.     begin
  14.         for j := 1 to N do
  15.         begin
  16.             ar[i, j] := Random * 198 - 99;
  17.             Write(ar[i, j]:7:2);
  18.             if (ar[i, j] > 0)
  19.             then
  20.             begin
  21.                 Inc(count);
  22.                 avr := avr + ar[i, j];
  23.             end;
  24.         end;
  25.         WriteLn;
  26.     end;
  27.     if (count > 0)
  28.     then
  29.         avr := avr / count;
  30.     for i := 1 to N - 1 do
  31.         for j := i + 1 to N do
  32.             if (ar[i, j] < 0)
  33.             then
  34.                 ar[i, j] := avr;
  35.     WriteLn('Modified array:');
  36.     for i := 1 to N do
  37.     begin
  38.         for j := 1 to N do
  39.             Write(ar[i, j]:7:2);
  40.         WriteLn;
  41.     end;
  42. end.

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

  1. N - константа, значение которой равно 8
  2. ar - массив размером 8x8 для хранения вещественных чисел
  3. i - переменная для цикла от 1 до N
  4. j - переменная для цикла от 1 до N
  5. count - переменная типа целое число от 0 до N*N
  6. avr - переменная для хранения среднего арифметического положительных чисел Далее выполняются следующие действия:
    • Инициализация генератора случайных чисел
    • Вывод сообщения Original array:
    • Обнуление переменных count и avr
    • Цикл для заполнения массива числами и подсчета среднего арифметического положительных чисел
    • Проверка, если количество положительных чисел в массиве больше 0, то вычисление среднего арифметического
    • Цикл для замены отрицательных элементов, расположенных выше главной диагонали, на среднее арифметическое положительных чисел
    • Вывод сообщения Modified array:
    • Цикл для вывода измененного массива Код генерирует массив случайных чисел, затем находит среднее арифметическое положительных чисел и заменяет отрицательные числа, расположенные выше главной диагонали, на это среднее значение. Наконец, выводит измененный массив.

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


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

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

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы