Другие языки программирования и технологии

паскаль программа

почему на выходе получается число, а не матрица? помогите!!!
const n=4;
var a,b,c,e:array [1..n,1..n] of integer;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if i=j then e[i,j]:=1
else e[i,j]:=0;
for i:=1 to n do
begin
for j:=1 to n do
write (e[i,j],' ');
writeln;
end;
for i:=1 to n do
for j:=1 to n do read(c[i,j]);
for i:=1 to n do
for j:=1 to n do read(a[i,j]);
for i:=1 to n do
for j:=1 to n do read(b[i,j]);
c[i,j]:=(a[i,j]-b[i,j])*e[i,j];
write(c[i,j],' ');
writeln;
readln;
end.
Тебе самому не понятен твой код!
А всё потому, что нет ни каких разделений блоков и ни одного комментария!
Меня, обычно, просто ставят в ступор поведение таких программ как эта…
Ты её, значит, запускаешь…
А она просто выводит зачем-то циферки вот так:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 0
И курсор замирает на следующей строчке в ожидании неизвестно чего…
Ну напишу я «с новым годом» …
Ну нажму я Enter…
А программа ни с того, ни с сего, выдаст мне ошибку и закроется!

Вот попытка привести твой код к более читабельному виду:

cоnst n=4;
var a,b,c,e:array [1..n,1..n] of integer;
i,j:integer;
begin
{ заполняем массив e единицами по главной диагонали }
{ все остальные элементы ставим равными 0 }
for i:=1 to n do
for j:=1 to n do
if i=j then e[i,j]:=1
else e[i,j]:=0;

{ выводим массив e на консоль }
for i:=1 to n do
begin
for j:=1 to n do
write (e[i,j],' ');
writeln;
end;

{ выводим значения массива c }
for i:=1 to n do
for j:=1 to n do read(c[i,j]);

{ выводим значения массива a }
for i:=1 to n do
for j:=1 to n do read(a[i,j]);

{ выводим значения массива b }
for i:=1 to n do
for j:=1 to n do read(b[i,j]);

{ АХРИНЕТЬ! }
{ 48 раз ввести ввести какие-то числа… }
{ При этом неизвестно какие и зачем… }

{ вычисляем неизвестно что }
c[i,j]:=(a[i,j]-b[i,j])*e[i,j];

{ выводим неизвестно что }
write(c[i,j],' ');

{ переводим строку зачемто}
writeln;

{ ждём неизвестно зачем нажатия enter }
readln;

end.
Бауыржан Абильдаев
Бауыржан Абильдаев
70 197
Лучший ответ
пототому что скобки не соблюдаешь (в паскалях бегин-енд)
и наружу ляпаешь точто последним вылезло, а не всю матрицу