Нужно написать программа в Pascal: 1) В двумерном массиве найти произведение элементов главной диагонали

2) В двумерном массиве найти номер строки, в которой наибольшее количество чётных элементов

Очень надо ,

dashok270307 dashok270307    1   13.04.2021 22:39    2

Ответы
sasha1916 sasha1916  13.05.2021 22:39

Программа 1:

{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}

{Copyright (c) 1993-2017 by Florian Klaempfl and others}

{Target OS: Linux for x86-64}

program test;

const

 max_num = 100; {Максимальная величина в массиве}

var

 N : integer; {Размерность массива}

 Massiv : array of array of integer;

 i, j : integer; {Счетчики циклов}

 p : int64; {Произведение элементов}

begin

Randomize;

write('Введите число - размер массива N: ');

readln(N);

{Установка размера массива}

SetLength(Massiv, N, N);

{Формирование случайного двумерного массива с элементами от 1 до 100}

for i := 0 to N-1 do begin

 for j := 0 to N-1 do begin

  Massiv[i, j] := Round(Random * max_num) + 1;

  write(Massiv[i,j]:4)

 end;

 writeln

end;

 

 

p := 1; {Инициализация переменной для подсчета произведения}

{Собственно, сам подсчёт.}

{Для главной диагонали особенность индексов, где i = j}

{Поэтому достаточно одного цикла}

for i := 0 to N-1 do

 p := p * Massiv[i, i];

writeln('Произведение р = ', p)

end.

Программа 2:

{Free Pascal Compiler version 3.0.4+dfsg-23 [2019/11/25] for x86_64}

{Copyright (c) 1993-2017 by Florian Klaempfl and others}

{Target OS: Linux for x86-64}

program test;

const

 max_num = 100; {Максимальная величина в массиве}

var

 N : integer; {Размерность массива}

 Massiv : array of array of integer;

 i, j : integer; {Счетчики циклов}

 c, m, k : integer; {Подсчёт чётных элементов}

begin

Randomize;

write('Введите число - размер массива N: ');

readln(N);

{Установка размера массива}

SetLength(Massiv, N, N);

{Формирование случайного двумерного массива с элементами от 1 до 100}

for i := 0 to N-1 do begin

 for j := 0 to N-1 do begin

  Massiv[i, j] := Round(Random * max_num) + 1;

  write(Massiv[i,j]:4)

 end;

 writeln

end;

{Обнуление счётчиков}

m := 0; k := 0;

for i := 0 to N-1 do begin

 {Подсчёт чётных в строке i}

 c := 0;

 for j := 0 to N-1 do

  if (Massiv[i, j] mod 2 = 0) then Inc(c);

 

 {Если чётных больше, чем в предыдущих строках, то}

 if (c > m ) then begin

  {запоминаем номер строки в переменной k}

  k := i;

  {запоминаем текущее количество чётных}

  m := c

 end

end;

writeln('Чётных чисел больше в строке ', k,'. Их - ', m)

end.


Нужно написать программа в Pascal: 1) В двумерном массиве найти произведение элементов главной диаго
Нужно написать программа в Pascal: 1) В двумерном массиве найти произведение элементов главной диаго
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика