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

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

Форум «Всё о Паскале» _ Задачи _ матрица на 180

Автор: sahek 4.01.2008 3:30

1.Повернуть матрицу на 180 градусов. Вложенную(дополнительную) матрицу не использовать. Распечатовать на 90 не обязательно.
Вот мой текст-программа работает, но когда преподователь write поместил в конец программы, то он напечатал не то, что надо и еще он сказал, что я ее не повернул, а распечатал sad.gif

Program Povorot180;
Uses crt;
const n=3;
Type z=array [1..n,1..n] of integer;
Var A,B,C:z;
i,j:integer;
Begin
ClrScr;
RANDOMIZE;
For i:=1 to n do
For j:=1 to n do
begin
{a[i,j] := random (10)-1;}
write('A(',i,',',j,')=');
Readln(A[i,j]);
end;
Writeln;
WRITELN;

For i:=1 to n do
Begin
for j:=1 to n do
Write(a[i,j]:4,' ');
Writeln;
End;

For i:=1 to n do
for j:=1 to n do
b[j,n-i+1]:=a[i,j];
Writeln('pechataem matrciy na 90 gradusov');
for i:=1 to n do
Begin
for j:=1 to n do
Write(b[i,j]:4,' ');
Writeln;
End;

For i:=1 to n do
for j:=1 to n do
c[j,n-i+1]:=b[i,j];
Writeln('pechataem matricy na 180 gradusov');
for i:=1 to n do
Begin
for j:=1 to n do
Write(c[i,j]:4,' ');
Writeln;
End;
Readln;
End.



Автор: мисс_граффити 4.01.2008 3:38

1. можешь привести пример - что на входе, что на выходе... не совсем поняла...
вот так?
было
1 2 3
4 5 6
7 8 9
стало
9 8 7
6 5 4
3 2 1

дополнительных матриц ты используешь аж 2, кстати.

2. не проверяла, набирала прямо здесь. так что можешь расценивать это не как программу, а как идею smile.gif

readln(A);
readln(N);
sum:=0;
el:=1;
for i:=0 to N do
begin
sum:=sum+el;
el:=el*(-A);
end;



Добавлено через 41 сек.
кстати...
правила почитай (в рамочке вверху).
и исправь свое сообщение, соответственно.

Автор: volvo 4.01.2008 4:18

Цитата
Повернуть матрицу на 180 градусов
Сколько можно решать эту задачу? Ну зайди в поиск уже - все настолько разжевано, что дальше некуда, есть реализации и с использованием дополнительных матриц, и без них...

Вот тут, скажем: http://forum.pascal.net.ru/index.php?s=&showtopic=3371&view=findpost&p=61325

Автор: sahek 4.01.2008 23:05

так дело в том, что я поиск юзал и там нашел кокрас это и по аналогу 90 сделал на 180, но как повторюсь если использовать врайт в конце то программа не работает и мне еще сказали, что это распечатывает матрицу, а не переворачивает ее на 180 smile.gif
мисс графити, да поворот матрицы на 180 как ты написала smile.gif

Автор: Ozzя 8.01.2008 15:34

Уж и не знаю, как ты поиск юзал. Но по ссылке тов. Вольво матрица именно поворачивается, а не выводится.

Автор: sahek 9.01.2008 16:17

что то я не догоняю как изменить программу поворота матрицы на 90, на которую дал ссылку volvo sad.gif

Автор: volvo 9.01.2008 16:21

А что, добавить еще один, внешний, цикл

for j := 1 to 2 do
...

нельзя никак догадаться? 2 раза повернуть на 90 градусов это не эквивалентно повороту на 180 по-твоему?