Программа 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
p := 1; {Инициализация переменной для подсчета произведения}
{Собственно, сам подсчёт.}
{Для главной диагонали особенность индексов, где i = j}
{Поэтому достаточно одного цикла}
for i := 0 to N-1 do
p := p * Massiv[i, i];
writeln('Произведение р = ', p)
end.
Программа 2:
c, m, k : integer; {Подсчёт чётных элементов}
{Обнуление счётчиков}
m := 0; k := 0;
{Подсчёт чётных в строке 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
writeln('Чётных чисел больше в строке ', k,'. Их - ', m)
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Программа 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.