Другие языки программирования и технологии

Срочно!!!!Программирование на Borland Pascal. Срочно помогите!!!!Плз!!!

Дан массив A(n) и натуральное k(k
tmp:=mas[1];
mas[1]:=mas[2];
и так далее, т. е.
mas:=mas[i+1]; где i от 1 до n-1

Это сдвиг на 1 элемент
Кст незабудь mas[n]:=tmp;
Гевлич Евгений
Гевлич Евгений
1 048
Лучший ответ
Доброго времени суток.

Напрашивается лобовое решение. Предположим массив уже есть и заполнен, число к введено.

while k > 0 do begin
Buf := A[1]; {сохраняем первый элемент в буфере}
for i:=2 to n do A[i-1] := a[ i ]; {начиная со второго сдвигаем элементы на один влево}
A[n] := Buf; {записываем последний элемент}
k := k - 1;
end;

Для сдвига вправо подумайте сами. Все будет аналогично, только в буфер придется сначала сохранять последний элемент и цикл перезаписи немного изменить, чтобы перезапись осуществлялась в другом направлении. Хинт: использовать цикл for i:=n downto 2 do

Удачи!
Виталий Брюхов
Виталий Брюхов
59 613
задание а
var i,n,k:integer;
a,b: array [1..100] of integer;
begin
write('kolichestvo elementov = ');
readln(n);
write('sdvig = ');
readln(k);
writeln('Vvedite massiv);
for i:=1 to n do
read(a);
fillchar(b,sizeof(b),0);{заполнение массива Б нулями}
for i:=1 to n do
begin
g:=i;
g:=g+k;
if g>n
then
g:=g-i;
b[g]:=a;
end;
writeln('Gotovaya matrica');
for i:=1 to n do
write(b,' ');
readln;
end.

задание б
var i,n,k:integer;
a,b: array [1..100] of integer;
begin
write('kolichestvo elementov = ');
readln(n);
write('sdvig = ');
readln(k);
writeln('Vvedite massiv);
for i:=1 to n do
read(a);
fillchar(b,sizeof(b),0);{заполнение массива Б нулями}
for i:=1 to n do
begin
g:=i;
g:=g-k;
if g<1
then
g:=i+g;
b[g]:=a;
end;
writeln('Gotovaya matrica');
for i:=1 to n do
write(b,' ');
readln;
end.

нужна помощь, пиши 395359808!
помогу!
пока
А задание?