Сдвиг массива на k элементов влево или вправо
Категория: Delphi/Pascal
2012-02-09 21:31:13
Сдвиг влево на k элементов:
code: #pascal
var a:array[1..100] of integer; i,r,n,k,j:integer; begin read(n,k); {k обозначает величину сдвига} for i:=1 to n do read(a[i]); for i:=1 to k do begin for j:=1 to n do if (j=1) then r:=a[j] else a[j-1]:=a[j]; a[n]:=r; end; for i:=1 to n do write(a[i],' '); readln end.
Сдвиг на k элементов вправо:
code: #pascal
var a:array[1..100] of integer; i,r,n,k,j:integer; begin read(n,k); {k обозначает величину сдвига} for i:=1 to n do read(a[i]); for i:=1 to k do begin for j:=n downto 1 do if (j=n) then r:=a[n] else a[j+1]:=a[j]; a[1]:=r; end; for i:=1 to n do write(a[i],' '); readln end.
автор: yanyk1n
Поделиться: