Программа на языке Паскаль:
{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;
var
X : array [1..5] of integer; {массив из 5 элементов}
i : integer; {Счётчик цикла}
d : integer; {Произведение положительных}
L : integer; {Количество отрицательных и нулей}
begin
{Ввести таб Х[1:5]}
write('Введите 5 чисел в массив Х: ');
for i := 1 to 5 do read(X[i]);
d := 1;
L := 0;
for i := 1 to 5 do
if (x[i] > 0) then
d := d * x[i]
else
L := L + 1;
{Вывести d, L}
writeln('Произведение d = ', d);
writeln('Количество отрицательных - ', L)
end.
Программа 1:
const
max_num = 100; {Максимальная величина в массиве}
N : integer; {Размерность массива}
Massiv : array of array of integer;
i, j : integer; {Счетчики циклов}
p : int64; {Произведение элементов}
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)
Программа 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)
Программа на языке Паскаль:
{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;
var
X : array [1..5] of integer; {массив из 5 элементов}
i : integer; {Счётчик цикла}
d : integer; {Произведение положительных}
L : integer; {Количество отрицательных и нулей}
begin
{Ввести таб Х[1:5]}
write('Введите 5 чисел в массив Х: ');
for i := 1 to 5 do read(X[i]);
d := 1;
L := 0;
for i := 1 to 5 do
if (x[i] > 0) then
d := d * x[i]
else
L := L + 1;
{Вывести d, L}
writeln('Произведение d = ', d);
writeln('Количество отрицательных - ', L)
end.
Программа 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.