Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизСдвиг элементов массива. Найти похожие ветки
← →
Layner © (2004-04-16 13:31) [0]Есть массивиз n значений, например 2,5,6,1,1,6,6 .. необходимо сдвинуть все значения массива, на одно значение влево(или право, без разницы), последнее значение стереть, а на освобождаемое место встает новое значение..
Делаю так: (одномерный массив, 63 значения, первоначально все нули)
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
s: string;
....
begin
for i:=1 to 63 do
mass[0,i]:=mass[0,i-1]; //сдвинули на 1 элемент
mass[0,0]:=Random(99); //сгенерили новый эл. массива в 1й ячейке
//и посмотрю в memo что же у нас получилось
for i:=0 to 63 do
s:=s+ IntToStr(mass[i]);
memo1.Lines.Add(s);
... Что то не то :(
← →
Владислав © (2004-04-16 13:35) [1]Да все не так.
Вот тут:
mass[0,i]:=mass[0,i-1];
ты перетер старший элемент массива.
← →
Layner © (2004-04-16 13:44) [2]Владислав, спасибо, все правилино делал, только цикл не правильно организовал, так получилось:
for i:=62 downto 1 do
mass[i]:=mass[i-1];
Ещё в 1м коде ошибка, случайно не убрал 2х мерный массив... а спрашивал про одномерный.
← →
Владислав © (2004-04-16 13:48) [3]> Layner © (16.04.04 13:44) [2]
Ну дык надо либо конкретный вопрос задавать, либо общими темами интересоваться в "Потрепаться" ;)
Удачи.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.028 c