Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

Организовать цикл.   Найти похожие ветки 

 
_Levin   (2007-11-09 21:47) [0]

У меня есть два TStringList, в одном 100 записей, второй пустой.
записи в первом например:

1
один
2
два
3
бегемот


Мне нужно перенести все эти записи во второй StringList, в таком формате:

1один
2два
3бегемот


Т.е. сократить записи в два раза, путем перенесения каждой второй строки в первую.

Все понимая, как организовать, но вот как цикл задать?

for i := 0 to StringList1.Count ??? do
 StringList2.Add(???);


 
Kolan ©   (2007-11-09 21:51) [1]

var
S: string;

for i := 0 to StringList1.Count — 1 do
 if Odd(I) then
   S := StringList1[I]
 else
   StringList2.Add(S + StringList1[I]);


Ку?


 
Anatoly Podgoretsky ©   (2007-11-09 21:51) [2]

> _Levin  (09.11.2007 21:47:00)  [0]

Тут лучше цикл while, а не for
А что неужели такие простые задания дают на курсовых, лабораторных, куда катимся однако.


 
Kolan ©   (2007-11-09 21:54) [3]

> while

Если так то можно шагать серез 1 и брать StringList1[I-1]+StringList1[I]


 
Anatoly Podgoretsky ©   (2007-11-09 21:57) [4]

> Kolan  (09.11.2007 21:54:03)  [3]

I и I+1


 
{RASkov}   (2007-11-09 22:42) [5]

> [4] Anatoly Podgoretsky ©   (09.11.07 21:57)
> I и I+1

Зависит от начального значения I :)

А вот тем же самым For"ом можно так попробывать:

var N: Integer;
begin
 for N:= 0 to (StringList1.Count-1) div 2 do
  StringList2.Add(StringList1[N*2+1]+StringList1[N*2]);
end;


 
Германн ©   (2007-11-09 22:57) [6]


> {RASkov}   (09.11.07 22:42) [5]

Это не арифметика. Тут от перемены мест слагаемых многое зависит.
:)


 
Anatoly Podgoretsky ©   (2007-11-09 23:03) [7]

> {RASkov}  (09.11.2007 22:42:05)  [5]

Поскольку это StringList то начальное значение 0, а конечное 99, и шаг 2


 
{RASkov}   (2007-11-10 00:27) [8]

> [7] Anatoly Podgoretsky ©   (09.11.07 23:03)

I:=1;
while I<100 do begin
...Add(StringList1[I]+StringList1[I-1]);
Inc(I,2);
end;

Да я в шутку....:)

> [6] Германн ©   (09.11.07 22:57)

Ну я может быть и ошибся в местах слогаемых, но вроде.... верно :)

>
Ну если конечно не четное будет в первом строк, то тут.... и while не поможет)


 
{RASkov}   (2007-11-10 00:36) [9]

> Ну я может быть и ошибся в местах слогаемых, но вроде....
> верно :)

Эх.... точно ошибся :)
Нужно так
StringList2.Add(StringList1[N*2]+StringList1[N*2+1]);
:)


 
Германн ©   (2007-11-10 01:50) [10]


> {RASkov}   (10.11.07 00:36) [9]
>
> > Ну я может быть и ошибся в местах слогаемых, но вроде.
> ...
> > верно :)
>
> Эх.... точно ошибся :)
>

Да ещё и орфография  Она хорошая, но...
Вспоминается А.А.Милн в пересказе Б.Заходера:
"Пух.-- Это очень, очень полезная  вещь.  И  я  хотел  попросить
тебя...
    -- Ты бы написал на нем: "Поздравляю с днем рождения".
    -- Так  вот об этом я и пришел тебя попросить! -- объяснил
наконец Пух.-- Потому  что  у  меня  правильнописание  какое-то
хромое.  Вообще-то  оно  хорошее  правильнописание,  но  только
почему-то хромает..."



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

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
2-1194000155
Ega23
2007-11-02 13:42
2007.12.02
как такой AV ловить?


2-1194438063
fart
2007-11-07 15:21
2007.12.02
Вопрос по Edit


2-1194429628
Lera
2007-11-07 13:00
2007.12.02
Наименование продукта


6-1175071587
inex
2007-03-28 12:46
2007.12.02
определение имени хоста по его адресу


15-1193766687
@!!ex
2007-10-30 20:51
2007.12.02
где почитать про дебагинг под Delphi