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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 14:56   #1
zyko
Новичок
Джуниор
 
Регистрация: 01.06.2010
Сообщений: 1
По умолчанию матрицы.сдвиг pascal

пощу помочь:
Осуществить циклический сдвиг элементов квадратной матрицы размером MxN вправо на k
элементов таким образом: элементы первой строки сдвигаются в последний столбец сверху вниз, из него
в последнюю строку справа налево, из нее - в первый столбец снизу вверх, из него - в первую строку; для остальных элементов аналогично (оформить ввиде процедуры).
zyko вне форума Ответить с цитированием
Старый 01.06.2010, 15:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Сам что нибудь пробовал делать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.06.2010, 15:54   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

лучше графически нарисуйте матрицу и стрелочками укажите направление Вашего циклического сдвига..
а иначе, сбоку сверху вниз справа налево плохо понятно...


Виталий, это я не Вам...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.06.2010, 15:55   #4
Ol'ga_new
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 125
По умолчанию

Здесь имелось в виду МхМ?
Цитата:
Сообщение от zyko Посмотреть сообщение
квадратной матрицы размером MxN
Ol'ga_new вне форума Ответить с цитированием
Старый 18.11.2011, 19:02   #5
ebaw_4yrok
Новичок
Джуниор
 
Регистрация: 18.11.2011
Сообщений: 1
По умолчанию

Код:
program asdfdsaf;
uses crt;
type mass=array [1..1000,1..1000] of integer;
var a:mass;
    k,i,j,n,m:integer;
procedure vvod;
begin clrscr;
      randomize;
      readln (n,m,k);
      for i:=1 to n do for j:=1 to m do a[i,j]:=random (110);
end;
      
procedure sdvig (n1,m1:integer;var a1:mass);
var i1,j1,b1:integer;
begin for i1:=n1 downto 1 do begin b1:=a1[i1,m1];
                                   for j1:=m1 downto 1 do a[i1,j1+1]:=a1[i1,j1];
                                   a[i1,1]:=b1;
                             end;
end;
                       
procedure vivod;
begin for i:=1 to n do begin for J:=1 to m do write (a[i,j]:4);
                             writeln;
                       end;
end;

begin vvod;
      vivod;
      writeln;
      for i:=1 to (k mod n) do sdvig (n,m,a);
      vivod;
end.
N- столбцы, M- строки
По-моему так. А как сдвинуть Вверх? Вниз получилось налево получилось а вверх не получается(


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.11.2011 в 12:17.
ebaw_4yrok вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++.циклический сдвиг элементов квадратной матрицы arsalan Помощь студентам 1 11.05.2010 08:08
Матрицы в Pascal katerina2508 Паскаль, Turbo Pascal, PascalABC.NET 1 19.04.2010 16:49
C++|Циклический сдвиг матрицы|Шаблоны|Перегрузка Troi666 Помощь студентам 2 01.05.2009 14:46
Циклический сдвиг строки матрицы Alex1991 Помощь студентам 1 14.04.2009 21:20