Заданы две матрицы А (6,6) и В (6,6). Для матрицы, которая отвечает заданному условию (1) выполните преобразования (2)
Условие (1) проверить в подпрограмме Function, преобразование выполнить в подпрограмме Procedure.
1-Количество нулевых элементов больше.
2-Найти сумму всех элементов данной диагонали.
Другие языки программирования и технологии
Помогите составить программу. тема "Процедуры и функции" при помощи Паскаль
Охх вы забавны)) ) Зачем вам одно и тоже на разных языках?) )
program project1;
{в языке Pascal НЕЛЬЗЯ обьявлять параметр функции в виде
array[x,y]of type. Чтобы передавать массив в качестве параметра
для него надо описать скалярный тип
}
type
TMatrix=array[1..6,1..6]of integer;
var
Matrix1,Matrix2:TMatrix;
x,y,CountZero1,CountZero2:integer;
function CountZero(matrix:TMatrix):integer;
var tmp,i,j:integer;
begin
tmp:=0;
for i:=1 to 6 do
for j:=1 to 6 do
if matrix[i,j]=0 then tmp:=tmp+1;
result:=tmp;
end;
procedure SummDiagonal(matrix:TMatrix; var summ:integer);
var tmp,i,j:integer;
begin
tmp:=0;
for i:=1 to 6 do
for j:=1 to 6 do
if i=j then tmp:=tmp+matrix[i,j];
summ:=tmp;
end;
begin
Randomize;
writeln('Matrix1:');
for x:=1 to 6 do begin
for y:=1 to 6 do begin
Matrix1[x,y]:=random(99);
write(Matrix1[x,y],' ');
end;
writeln;
end;
writeln('Matrix2:');
for x:=1 to 6 do begin
for y:=1 to 6 do begin
Matrix2[x,y]:=random(99);
write(Matrix2[x,y],' ');
end;
writeln;
end;
CountZero1:=CountZero(Matrix1);
CountZero2:=CountZero(Matrix2);
if CountZero1>CountZero2 then
begin
SummDiagonal(Matrix1,x);
y:=1;
end
else
begin
SummDiagonal(Matrix2,x);
y:=2;
end;
writeln('В матрице ',y,' обнаружено большее количество нулевых элементов');
writeln('Сумма элементов диагонали этой матрицы: ',x);
readln;
end.

program project1;
{в языке Pascal НЕЛЬЗЯ обьявлять параметр функции в виде
array[x,y]of type. Чтобы передавать массив в качестве параметра
для него надо описать скалярный тип
}
type
TMatrix=array[1..6,1..6]of integer;
var
Matrix1,Matrix2:TMatrix;
x,y,CountZero1,CountZero2:integer;
function CountZero(matrix:TMatrix):integer;
var tmp,i,j:integer;
begin
tmp:=0;
for i:=1 to 6 do
for j:=1 to 6 do
if matrix[i,j]=0 then tmp:=tmp+1;
result:=tmp;
end;
procedure SummDiagonal(matrix:TMatrix; var summ:integer);
var tmp,i,j:integer;
begin
tmp:=0;
for i:=1 to 6 do
for j:=1 to 6 do
if i=j then tmp:=tmp+matrix[i,j];
summ:=tmp;
end;
begin
Randomize;
writeln('Matrix1:');
for x:=1 to 6 do begin
for y:=1 to 6 do begin
Matrix1[x,y]:=random(99);
write(Matrix1[x,y],' ');
end;
writeln;
end;
writeln('Matrix2:');
for x:=1 to 6 do begin
for y:=1 to 6 do begin
Matrix2[x,y]:=random(99);
write(Matrix2[x,y],' ');
end;
writeln;
end;
CountZero1:=CountZero(Matrix1);
CountZero2:=CountZero(Matrix2);
if CountZero1>CountZero2 then
begin
SummDiagonal(Matrix1,x);
y:=1;
end
else
begin
SummDiagonal(Matrix2,x);
y:=2;
end;
writeln('В матрице ',y,' обнаружено большее количество нулевых элементов');
writeln('Сумма элементов диагонали этой матрицы: ',x);
readln;
end.

Напишите правильно задание, у вас задание сформулировано неправильно:
1-Количество нулевых элементов больше.
2-Найти сумму всех элементов данной диагонали.
Конректно, что нужно? 1) проверить количество нулевых элемнтов в A и B, сравнить, в той что больше сумму каких элементов, на какой диагонали вычислить? как правильно задание звучит.
1-Количество нулевых элементов больше.
2-Найти сумму всех элементов данной диагонали.
Конректно, что нужно? 1) проверить количество нулевых элемнтов в A и B, сравнить, в той что больше сумму каких элементов, на какой диагонали вычислить? как правильно задание звучит.
Похожие вопросы
- Помогите составить программу С++ "Процедуры и функции"
- Помогите составить программу на паскале!
- Помогите составить программу через Pascal с использованием функции и процедуры.
- помогите составить программу в паскаль, плиз
- помогите составить программу на паскале используя массив:
- Помогите составить программу на Турбо Паскале! ПЛИЗЗ!!
- помогите составить программу, сокращающую обыкновенные дроби.на паскале заранее спасибо
- помогите составить программу на паскале, срочно..
- Паскаль. Помогите составить программу.
- Помогите составить программу на паскале