Вниз
Скачать: CL | DM;

Вопрос про массив   Найти похожие ветки 

 
super_alex ©   (2003-06-01 18:50) [0]

Значить помогите плиз... Есть массив (длина переменная и может быть 100, а может и 20000). Массив забивается числами (диапазон тоже может быть маленький, а может быть огромный). Но с определённого элемента (номер элемента всегда разный и НЕ зависит от длины массива) в массиве лежит одинаковое число. Например, массив из 5000 элементов и последние 3000 элементов - это значение 123...
Вопрос: "Как выкинуть из массива эти последние одинаковые значения"?


 
Anatoly Podgoretsky ©   (2003-06-01 19:01) [1]

SetLength(ar,Length(ar)-3000)


 
super_alex ©   (2003-06-01 19:11) [2]

Сорри, я, наверное, некорректно задал вопрос!!!
Так это если точно известно что начинаются они с 3000. А у меня они начинаются произвольно, то есть щас с 3000, а в следующий раз с 150-го... Как узнать с какого они начинаются, вот какая у меня проблема...


 
Всеволод Соловьёв ©   (2003-06-01 19:21) [3]

for i:=2 to length(a) do
if a[i]<>a[i-1] then odnakov:=i;
setlength(a,Length(a)-i);


 
super_alex ©   (2003-06-01 19:28) [4]

Спасибо огромное!!!
Все очень помогли...


 
Всеволод Соловьёв ©   (2003-06-01 19:32) [5]

Но учти! там может быть туды-сюды различие в один символ. Поэкспериментируй :) я не проверял...


 
MegaVolt ©   (2003-06-02 10:21) [6]

To Всеволод Соловьёв:
Молодец :) Посоветовал. Т.е. когда твоя прога найдёт 2 повторяющихся символа она удалит всё остальное?
Правильнее выполнять её с конца к началу и когда пойдёт разлчие тогда и удалять!!!


 
Всеволод Соловьёв ©   (2003-06-02 10:59) [7]

2MegaVolt
Ты не заметил одной вещи... Там не стоит begin end возле for.
Поэтому оно все проверит, а потом уменьшит размер массива.


 
Sandman25 ©   (2003-06-02 11:02) [8]

El := Arr[High(Arr)];
i := High(Arr) - 1;
while Arr[i] = El do
dec(i);
SetLength(Arr, i + 2);

Но если массив имеет размер 1 либо все элементы одинаковые, то не сработает. Придется проверять индекс либо организовывать барьер.


 
MegaVolt ©   (2003-06-02 11:14) [9]

Согласен но по моему с конца правильнее так как можно при нахождении отличия остановится :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-34869
OlegNOE
2003-05-31 11:02
2003.06.12
MDI интерфейс


6-34952
leonidus
2003-04-08 20:34
2003.06.12
Какую информацию о сайте можно получить зная его IP?


1-34771
$Hic0
2003-05-30 11:31
2003.06.12
Цвет ячейки StrinGrid


14-34994
Litvin
2003-05-26 11:53
2003.06.12
QRLabel


14-34975
Ork
2003-05-28 19:31
2003.06.12
doc files компоненты




   Наверх