Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
_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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1193379486
bva
2007-10-26 10:18
2007.12.02
Создание инсталяции программы


2-1194450966
Kick
2007-11-07 18:56
2007.12.02
UDPClient, UDPServer, TCPClient, TCPServer


15-1193726252
boriskb
2007-10-30 09:37
2007.12.02
Научитесь программировать за десять лет


15-1193844179
antonn
2007-10-31 18:22
2007.12.02
регулярка


3-1184308098
wsv
2007-07-13 10:28
2007.12.02
Замедление DataSet.next





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский