var
a:array[1..100, 1..100] of integer;
n, m, count, i, j, max:integer;
begin
randomize;
write('m = ');
readln(m);
write('n = ');
readln(n);
writeln('Исходный массив :');
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := random(11);
write(a[i, j], ' ');
end;
writeln;
end;
max := a[1, 1];
for i := 1 to m do
for j := 1 to n do
if a[i, j] > max then
max := a[i, j];
writeln('Max = ', max);
for i := 1 to m do
begin
count := 0;
for j := 1 to n do
if a[i, j] = max then
inc(count);
writeln('В строке', i ,' находится', count, ' максимальных элементов');
end;
readln;
end.
2)
const n = 6;
var
a: array[1..n] of integer;
i, s: integer;
begin
s := 1;
for i := 1 to n do begin
a[i] := random(5);
write(a[i], ' ');
if(a[i] > 1) then s := s * a[i];
end;
writeln;
writeln('Произведение эл. > 1 : ', s);
end.
3)
const n = 8;
var
a: array[1..n] of integer;
i, max: integer;
begin
for i := 1 to n do begin
a[i] := 100000 + random(10000);
write(a[i], ' ');
if(a[i] > max) then max := a[i];
end;
writeln;
writeln('Наибольшее кол-во населения: ', max);
end.
Ну, во-первых, за тем, чтобы придерживаться сути инкапсуляции: Людям свойственны ошибки. Например, будь у нас прямой доступ к полю, мы бы могли ошибочно изменить значение. При использовании методов, мы, разумеется, 5 раз подумаем, прежде чем взаимодействовать с ним.
Во-вторых, для простоты. Нам не нужно подробно изучать все внутреннее устройство, достаточно начать взаимодействовать с методом, который сделает всю внутреннюю работу за вас.
Думаю алгоритм будет таким: