Показать сообщение отдельно
Старый 30.03.2011, 18:55   #1 (permalink)
xxxivan
Новичок
 
Регистрация: 30.03.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помощь в решении

У меня Зашита курсовой по Turbo Pascal нужно сделать блок схем и описание к программе. В Описание должно входить Формализованние постановки задачи и Алгоритмизация, но в неё и включается создание блока схем.
Вот сама задача: а) построить матрицу С=А*В, где А – прямоугольная матрица размером nxm
б)В матрице С найти суммы элементов строк и столбцов, на пересечении которых лежит отрицательные элементы.

uses crt;
const m=3;
n=5;
var a:array[1..n,1..m]of integer;
b:array[1..m,1..n]of integer;
c:array[1..n,1..n]of integer;
i,j,k,l,sstr,sstb,f:integer;
begin
clrscr;
randomize;
writeln('Matrica A:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(9)+1;
write(a[i,j]:4);
end;
writeln;
end;
writeln('Matrica B:');
for i:=1 to m do
begin
for j:=1 to n do
begin
b[i,j]:=random(10)-3;
write(b[i,j]:4);
end;
writeln;
end;
readln;
for k:=1 to n do {umnozenie}
for j:=1 to m do
begin
c[k,j]:=0;
for i:=1 to m do
begin
c[k,j]:=c[k,j]+a[k,i]*b[i,j];
end;
end;
writeln('Matrica C=A*B:');
for i:=1 to m do
begin
for j:=1 to m do
write(c[i,j]:5);
writeln;
end;
f:=0;
for i:=1 to m do
for j:=1 to m do
if c[i,j]<0 then {}отрицательное пересечение
begin
f:=1;
sstr:=0;
for k:=1 to m do sstr:=sstr+c[i,k];{сумма по строке}
writeln('Summa v stroke ',i,' =',sstr);
sstb:=0;
for l:=1 to m do sstb:=sstb+c[l,j]; {сумма по столбцу}
writeln('Summa v stolbce ',j,' =',sstb);
end;
if f=0 then writeln('Otricatelnyh elementov v matrice net!');
readln
end.
xxxivan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070