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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2015, 22:58   #1
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию Сдвиг циклический на несколько элементов..

Не получается совершить циклический сдвиг элементов строки на несколько пунктов.. только на 1 могу

Код:
for i:=1 to x do
begin
if(i mod 2=0) then
       begin
        o:=a[i,1];
         for j:=1 to y do
          begin
           a[i,j]:=a[i,j+1];
          end;
         a[i,y]:=o;
       end;

       if(i mod 2<>0) then
       begin
        o2:=a[i,y];
        for j:=y downto 1 do
        begin
           a[i,j]:=a[i,j-1];
        end;
       a[i,1]:=o2;
       end;
end;
manchester_alan вне форума Ответить с цитированием
Старый 14.12.2015, 08:55   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Нацарапал на заборе за 3 минуты. Циклический сдвиг строки вправо.
Код:
function ShrString(const S: string; N: Integer): string;
var
  len: Integer;
begin
  len:= Length(S);
  N:= N mod len;

  if (S = '') or (N = 0)
    then Exit(S);
    
  Result:= Copy(S, len - N + 1, N) + Copy(S, 1, len - N);
end;
Сдвиг влево пусть кто-нить ещё напишет.
ВНИМАНИЕ!
УВАГА!!
АХТУНГ!!!
АТТЕНШН!!!!

Shit-code detected!
Код не отлаживал. Писал на заборе!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.12.2015, 09:21   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

[QUOTE=min@y™;1561745]Нацарапал на заборе за 3 минуты. Циклический сдвиг строки вправо.
[/CODE]
min@y™, ничего, что у автора темы речь идёт о строках матрицы?


Цитата:
Не получается совершить циклический сдвиг элементов строки на несколько пунктов.. только на 1 могу
manchester_alan, в чём проблема вызвать в цикле несколько раз ваш код сдвига на 1 пункт? (если сдвиг на 1, конечно, корректно работает ).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.12.2015, 17:27   #4
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

[QUOTE=Serge_Bliznykov;1561758]
Цитата:
Сообщение от min@y™ Посмотреть сообщение
Нацарапал на заборе за 3 минуты. Циклический сдвиг строки вправо.
[/CODE]
min@y™, ничего, что у автора темы речь идёт о строках матрицы?



manchester_alan, в чём проблема вызвать в цикле несколько раз ваш код сдвига на 1 пункт? (если сдвиг на 1, конечно, корректно работает ).
а это идея,спасибо))
manchester_alan вне форума Ответить с цитированием
Старый 14.12.2015, 18:50   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
ничего, что у автора темы речь идёт о строках матрицы?
да? я этого не знал.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.12.2015, 19:05   #6
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
да? я этого не знал.
всем спасибо короче)
manchester_alan вне форума Ответить с цитированием
Старый 14.12.2015, 19:14   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
ну если честно, я же написал, что на 1 сдвиг я знаю, скинул код, спрашивал, чтоб на несколько пунктов сдвинуть можно было)
Ну а чо про матрицу-то не сказал? Я твой код и не смотрел.



Цитата:
всем спасибо короче)
Следуй за белым кроликом, короче.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз Nekro95 Помощь студентам 12 07.11.2012 22:31
циклический сдвиг элементов массива Carter Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2011 19:54
Массивы и циклический сдвиг элементов CHESTER_ROB Общие вопросы C/C++ 5 23.11.2010 13:46
C++.циклический сдвиг элементов квадратной матрицы arsalan Помощь студентам 1 11.05.2010 08:08