Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
TORETO
Программа: вводится массив. нужно циклически сдвинуть его на 2 позиции влево.
Проблема: через random вещественные числа вводятся как-то непонятно(как сделать так, чтобы массив сначала выводился как есть в строку, а потом сдвинутый на другой строке?) Хелп

program pila;
uses crt;
const
n=10;
var
x:array[1..n] of real;
i:integer;
begin
clrscr;
randomize;
for i:=1 to n do begin
x[i]:=random(100)-50;
write(x[i]:6:2);
end;
writeln;
for i:=1 to n-2 do begin
x[i]:=x[i+2];
write(x[i]:6:2);
end;
readkey;
end.



Проблема в этой строке:

x[i]:=random(100)-50;
write(x[i]:6:2);



P.S. Массив обязательно вещественный(может его не через random задавать? тогда как сделать так чтобы элементы печатались в одну строку,а не на следующей?)
Ozzя
Цитата
вводится массив. нужно циклически сдвинуть его на 2 позиции влево.

Ты задачу не понял. Нужно не напечатать, а сдвинуть элементы массива.
Было
1 2 3 4 5 6
Стало
5 6 1 2 3 4
TORETO
Цитата(Ozzя @ 8.12.2007 12:38) *

Ты задачу не понял. Нужно не напечатать, а сдвинуть элементы массива.
Было
1 2 3 4 5 6
Стало
5 6 1 2 3 4

Нет
Было
1 2 3 4 5 6
Стало
3 4 5 6

Именно так, я у препода спрашивал
Ozzя
А влево lol.gif
Виноват.
Тогда так
Было
1 2 3 4 5 6
Стало
3 4 5 6 1 2

Циклически означает, что элементы, выходящие за пределы границ, передвигаются в начало (конец) последовательности.
TORETO
А как тогда так сделать, как ты говоришь?Как код будет выглядеть?
Ozzя
Циклический сдвиг
TORETO

program gremmi;
uses crt;
const
n=10;
m=2;
var
x:array[1..n] of integer;
y:array[1..n] of integer;
i:integer;
begin
clrscr;
randomize;
for i:=1 to n do begin
x[i]:=random(100);
write(x[i],' ');
end;
writeln;
for i:=1 to m do
y[i]:=x[n-m+i];
for i:=n-m downto 1 do
x[i+m]:=x[i];
for i:=1 to m do
x[i]:=y[i];
for i:=1 to n do
write(x[i],' ');
readln;
end.



Вот примерно так, только двигает не на 2 влево, а вправо.Как сделать влево?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.