Помогите решить задачи по паскалю при помощи процедуры и функции 1.Дана прямоугольная...

0 голосов
32 просмотров

Помогите решить задачи по паскалю при помощи процедуры и функции
1.Дана прямоугольная таблица, которая содержит не более 30 строк и не более 10 столбцов. Найти сумму элементов, у которых сумма их индексов число кратное 5.
2. Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов. Найти минимальный элемент и поменять его местами со вторым элементом первой строки массива. Массив вывести в виде таблицы.


Информатика (146 баллов) | 32 просмотров
0

а можно оформить в виде процедуры?

0

Можно оформить вывод, но тогда основной код будет ещё трешовее.

0

пофиг

0

просто я забыл дописать что их нужно через процедуру сделать

Дано ответов: 2
0 голосов
Правильный ответ

Вот держи две штуки через процедуры

(1.6k баллов)
0 голосов

1)type ta=array[1..30,1..10] of Integer;

var ma:ta;
i,k,j:integer;

procedure SearchAndInc(ma:ta; var k:integer);
var i,j:integer;
begin;
for i:=1 to 30 do
 for j:=1 to 10 do
  if (i+j) mod 5=0 then k:=k+ma[i,j];
end;

begin;
randomize;
writeln('Matrix:');
for i:=1 to 30 do
 begin;
  writeln;
   for j:=1 to 10 do
    begin;
     ma[i,j]:=random(50);
     write(ma[i,j]:4);
    end;
 end;
SearchAndInc(ma,k);
writeln;
writeln('Result:',k);
end.

2)type
 ta=array[1..20,1..5] of Integer;

 procedure Minim(ma:ta;var mini,minj:integer);
var i,j,min:integer;
begin;
min:=2147483647;
for i:=1 to 20 do
 begin;
  for j:=1 to 5 do
   begin;
    if min>ma[i,j] then
      begin;
        min:=ma[i,j];
        mini:=i;
        minj:=j;
      end;
    end;
 end;
end;

var ma:ta;
i,j,c,mini,minj,min:integer;
begin;
randomize;
writeln('Matrix:');
for i:=1 to 20 do
 begin;
  writeln;
   for j:=1 to 5 do
    begin;
     ma[i,j]:=random(50);
     write(ma[i,j]:4);
    end;
 end;
Minim(ma,mini,minj);
writeln;
c:=ma[1,2];
ma[1,2]:=ma[mini,minj];
ma[mini,minj]:=c;
writeln('Final matrix:');
for i:=1 to 20 do
 begin;
  writeln;
   for j:=1 to 5 do
    write(ma[i,j]:4);
 end;
writeln;
writeln('Min:',min);
end.

(38.6k баллов)