Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 19:24   #1
Вероника_94
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию нужно отладить программу по двумерным массивам(Pascal)

uses crt;
var
a:array[1..10,1..10] of integer;
b:array[1..10,1..10] of integer;
c:array[1..10,1..10] of integer;
d:array[1..10,1..10] of integer;
e:array[1..10,1..10] of integer;
f:array[1..10,1..10] of integer;
g:array[1..10,1..10] of integer;
h:array[1..10,1..10] of integer;
i,j,n,m,sp,s,l:integer;
begin
clrscr;
randomize;
repeat
writeln('Каким способом формирования матриц будем пользоваться?');
writeln('1: Формирование случайным образом');
writeln('2: Формирование вручную');
write('Введите способ формирование матриц=');
readln(sp);
case sp of
1: begin
write('Введите размер матриц=');
readln(n);
writeln('Формирование матрицы A:');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(5);
write(a[i,j]:5);
end;
writeln;
end;
writeln('Формирование матрицы B:');
for i:=1 to n do begin
for j:=1 to n do begin
b[i,j]:=random(5);
write(b[i,j]:5);
end;
writeln;
end;
writeln('Формирование матрицы C');
for i:=1 to n do begin
for j:=1 to n do begin
c[i,j]:=random(5);
write(c[i,j]:5);
end;
writeln;
end;
end;
2: begin
write('Введите размер матриц=');
readln(n);
writeln('Формирование матрицы A:');
for i:=1 to n do begin
for j:=1 to n do begin
read(a[i,j]);
end;
write;
end;
writeln('Формирование матрицы B:');
for i:=1 to n do begin
for j:=1 to n do begin
read(a[i,j]);
end;
write;
end;
writeln('Формирование матрицы C:');
for i:=1 to n do begin
for j:=1 to n do begin
read(a[i,j]);
end;
write;
end;
end;
else writeln('Ошибка, введите заново=');
end;
until (sp>1) or (sp<3);
readln;
writeln('A*B:');
s:=0;
for i:=1 to n do begin
for j:=1 to n do begin
for l:=1 to n do begin
s:=s+a[i,l]*b[l,j];
end;
e[i,j]:=s;
s:=0;
end;
end;
for i:=1 to n do begin
for j:=1 to n do begin
write(e[i,j]:5);
end;
writeln;
end;
writeln('3*B');
for i:=1 to n do begin
for j:=1 to n do begin
s:=s+(3*b[i,j]);
end;
f[i,j]:=s;
s:=0;
end;
for i:=1 to n do begin
for j:=1 to n do begin
write(f[i,j]:5)
end;
writeln;
end;
writeln('Транспонирование матрицы C:');
for i:=1 to n do begin
for j:=1 to n do begin
c[i,j]:=c[j,i];
end;
end;
for i:=1 to n do begin
for j:=1 to n do begin
write(c[i,j]:5);
end;
writeln;
end;
writeln('Подсчёт матрицы D по формуле: D=AB+3B-C^T:');
for i:=1 to n do begin
for j:=1 to n do begin
d[i,j]:=e[i,j]+f[i,j]-c[j,i];
write(d[i,j]:5);
end;
writeln;
end;
readln;
end.



Необходимо отладить подсчёт 3*B и транспонирование матрицы C. Остальное работает корректно. Заранее спасибо
Вероника_94 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Delphi нужно выполнить задание по двумерным массивам (StringGrid) oRik24 Помощь студентам 2 13.06.2011 21:02
Задача по массивам...Нужно создать программу в Паскале Кристина) Помощь студентам 7 18.05.2011 22:39
Задания по одномерным и двумерным массивам (Turbo Pascal) Vet11 Помощь студентам 3 01.12.2010 09:54
ПАМАГИТЕ РЕШИТЬ ЗАДАЧУ ПО PASCAL ПО ДВУМЕРНЫМ МАССИВАМ legheboka Паскаль, Turbo Pascal, PascalABC.NET 2 17.06.2009 00:43
Нужно отладить программу Killdgedan Помощь студентам 2 24.05.2009 14:50