Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите найти ошибку в программе.

Автор: -Casual- 21.04.2008 18:18

program matrix;
var z, x:array[1..100, 1..100] of integer;
m, n, i, j: integer;
begin
randomize;
writeln('vvedite razmernost matrici');
readln(n);
for i:=1 to n do
for j:=1 to n do
begin
x[i,j]:=-10+random(20);
end;
for i:=1 to n do
for j:=1 to n do
begin
x[i,j]:=z[j,i];
end;
for j:=1 to n do
for i:=1 to n do
writeln(z[j,i]:3);
readln;
end.


Автор: Casual 21.04.2008 18:27

Задача: Транспониравать матрицу x(m, m). В ответе получаются нули. В чем причина?

Добавлено через 1 мин.
Опечатка! Матрица X(m,n)

Автор: renesko1 21.04.2008 18:42


for i:=1 to n do
for j:=1 to n do
begin
x[i,j]:=-10+random(20); // ты заполняешь матрицу x
end;
for i:=1 to n do
for j:=1 to n do
begin
x[i,j]:=z[j,i];// теперб ты из пустой матрицы z копируешь значения в матрицу x, поменяй z[i,j]:=x[j,i];
end;




+ только счас заметил если матрица не квадратная то ввести надо 2 значения : длины и ширины.

Автор: Casual 21.04.2008 19:30

Спасибо тебе! А как сделать чтобы ответ в красивом виде вышел
?

Автор: renesko1 21.04.2008 19:41


for j:=1 to n do
begin
for i:=1 to n do
write(z[j,i]:3); //без ln
writeln ; // ln те переход на новую строчку --> первый цикл должен быть для строчек
end ;