Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
kosmars
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 24
#1

Формирование последовательности чисел из ListBox

04.06.2015, 11:28. Просмотров 358. Ответов 7
Метки нет (Все метки)

Здравствуйте! Мне необходимо, сформировать последовательность чисел из ListBox.
В Edit1 записывается начальное число, в Edit2 - конечное.
Необходимо восстановить связь между этими числами

Покажу на примере, что именно требуется (см. скриншот):
ListBox:
Название: Безымянный.jpg
Просмотров: 18

Размер: 3.9 Кб
Edit1 = 1
Edit2 = 4

в Memo должен записаться результат 1-5-8-4


Мой код виснет. В чем может быть ошибка?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
procedure TForm1.Button8Click(Sender: TObject);
var
ch1,ch2,i,p,a1,b1,i1:integer;
pre:string;
s: string;
begin
ch1:= StrToInt (Edit1.Text);
ch2:= StrToInt (Edit2.Text);
 
 
  begin
   for i:=0 to ListBox3.Items.Count-1 do
    begin
    s:=ListBox3.Items[i];
    p:=pos('-',s);
    a1:=StrToInt(copy(s, 1, p-1));
    b1:=StrToInt(copy(s,p+1,length(s))); // получили значение чисел до и после знака "-" 
       Edit3.Text:= IntToStr (b1); // проверка определения числа
        begin
        if ch1 = a1 then
          begin
          while ch2<>b1 do
              for i1:=0 to ListBox3.Items.Count-1 do
              s:=ListBox3.Items[i1];
                if a1 = b1 then
              pre:= IntToStr(b1);
              Memo5.Text:=Memo5.Text+pre;
              a1:=b1;
              ch1:=b1;
              i1:=0+1;
 
 
 
end;
end;
end;
end;
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2015, 11:28
Ответы с готовыми решениями:

Формирование последовательности чисел из ListBox
Здравствуйте! Мне необходимо, сформировать последовательность чисел из ListBox....

В ListBox вводится последовательность чисел. Вычислить сумму квадратов данных чисел.
В ListBox вводится последовательность чисел. Вычислить сумму квадратов данных...

формирование чисел.
Здравствуйте. У меня такой вопрос. Вообщем есть 9 цифр в массиве, надо...

Формирование числового массива случайных чисел из интервала [-20..20]
Подскажите, пожалуйста. Создать модуль, содержащий подпрограммы: •...

Формирование двумерного динамического массива целых чисел
Привет! Нужна помощь! За 3 дня мне нужно было написать эту программу, но я...

7
Immo
182 / 182 / 91
Регистрация: 02.10.2012
Сообщений: 818
04.06.2015, 11:41 #2
от куда взялось "в Memo должен записаться результат 1-5-8-4" если эдиты 1 и 4 соответственно

Добавлено через 9 минут
может быть ты хочешь ввести число 1 и 4 и получить 1-2-3-4 ?
0
kosmars
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 24
04.06.2015, 11:57  [ТС] #3
нет, мне нужно установить связность чисел

то есть мы задаем границы цепочки - это 1 и 4, а программа должна устанавливать числа которые в конечном итоге приводят от одного числа к другому.

так на примере
1-5, потом следующая строка с 5 - это 5-8, затем с 8 - это 8-4.
0
Puporev
Модератор
54349 / 41942 / 28977
Регистрация: 18.05.2008
Сообщений: 98,786
04.06.2015, 12:03 #4
Составить цепочку по принципу домино?
0
Immo
182 / 182 / 91
Регистрация: 02.10.2012
Сообщений: 818
04.06.2015, 12:17 #5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  Predel1,Predel2, a,b,i:integer;
  FPOS:integer;
begin
  Predel1:=StrToInt(edit1.Text);
  Predel2:=StrToInt(edit2.Text);
  for i:=0 to ListBox1.Count-1 do begin
     FPOS:=pos('-',ListBox1.Items.Strings[i]);
     a:=StrToInt(copy(ListBox1.Items.Strings[i],1,FPOS-1));
     b:=StrToInt(copy(ListBox1.Items.Strings[i],FPOS+1,Length(ListBox1.Items.Strings[i])));
     if (predel1<a) and (b>predel2) then
       memo1.Lines.Add(IntToStr(predel1)+'-'+ListBox1.Items.Strings[i]+'-'+inttostr(Predel2));
  end;
1
kosmars
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 24
05.06.2015, 01:47  [ТС] #6
Да, именно по такому принципу!

Алгоритм неверный. Не обязательно predel1 будет меньше а, как и predel2 больше b соответственно
0
northener
пофигист широкого профиля
3418 / 2318 / 630
Регистрация: 15.07.2013
Сообщений: 13,700
05.06.2015, 01:54 #7
Цитата Сообщение от kosmars Посмотреть сообщение
Алгоритм неверный.
И формулировка задачи тоже.
0
kosmars
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 24
05.06.2015, 01:58  [ТС] #8
Необходимо чтобы формировалась последовательность чисел от заданного в edit1 до указанного в edit2

То есть чтобы цикл пробегал по строкам, и как только нашел такое же число как в edit1 начинал брать второе число из строки (назовем это число b), затем искал число b и записывал соседнее в строке число (c), затем искал число c.. и так далее пока окончательное число не совпадет с числом указанным в edit2

надеюсь более понятно описал
0
05.06.2015, 01:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2015, 01:58

Дан текстовый файл, состоящий из последовательности целых чисел. Определить количество чисел кратных 3.
Дан текстовый файл состоящий из последовательности целых чисел определить...

Разработать проект, в котором обеспечивается формирование двумерного динамического массива целых чисел
для каждого столбца массива определить порядковый номер (номер строки)...

В заданной последовательности целых чисел найти максимально длинную подпоследовательность чисел такую, что каждый последующий элемент
В заданной последовательности целых чисел найти максимально длинную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru