![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 45
|
![]()
Вот описал процедуру выполняющую требуемое задание.
Задание: В лист-боксе имеется последовательность целых чисел. Во втором лист-боке показать те числа из первого лист-бокса, которые являются простыми числами. Процедура: Код:
Помогите пожалуйста переделать данный код, для выполнения следующей задачи: Задача: Дана последовательность чисел. Построить последовательность номеров позиций, откуда начинаются подряд идущие значения, расположенные в порядке убывания. Спасибо!
end;
end. ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Поскольку Ваша задача не имеет ничего общего с приведенным кодом, то переделывать его нет смысла. Лучше написать новый. Зачем Вам ListBox? Задача в три действия 1. Создать массив. 2.Выполнить условие задачи. Вывести результат. На форме нужны 1 кнопка, и три эдита (лабеля, мемо) . И такой код:
Код:
|
![]() |
![]() |
![]() |
#3 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Если вам по условию нужны именно листбоксы, то:
Код:
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 45
|
![]()
Вот честно сказать, - никак не пойму как можно эту задачу решить первым из предложеных вариантов!
![]() В обоих вышепредложенных вариантах решения задачи, программа запускается, но результатов нет! Может я не так понимаю формулировку задачи!? ![]() Дана последовательность чисел.(В лист-боксе1. имеется столбец из целых чисел!) Построить последовательность номеров позиций, откуда начинаются подряд идущие значения, расположенные в порядке убывания. (В лист-боксе2. сделать такой столбец, который будет являтся столбцом из лист-бокса1. но уже отсортированым в порядке убывания!) Хотелось бы всё-таки разобраться с этой задачей! ![]()
end;
end. ![]() |
![]() |
![]() |
![]() |
#5 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
"Построить последовательность номеров позиций, откуда начинаются подряд идущие значения, расположенные в порядке убывания." Это означает не отсортировать значения из первого листбокса ("В лист-боксе2. сделать такой столбец, который будет являтся столбцом из лист-бокса1. но уже отсортированым в порядке убывания!"), а построить столбец из строк, в который войдут индексы (опять-таки не значения, а номера позиций, т.е. индексы значений из первого листбокса) строк первого листбокса, в которых находятся числа, идущие подряд в порядке убывания. То есть, если в 1-ом листбоксе последовательность строк такая: 3,5,1,2,5,7,9,6,5,4,3 то во второй листбокс будут записаны следующие строки: 7,8,9,10 (индексы строк 6,5,4,3) И все... Потому что только помеченные красным числа - идут подряд, то есть различаются на 1 - убывают Что непонятного??? Мой вариант именно это и делает. Проверил, все чудненько... Уточню - возможно, "подряд" имеется в виду просто последовательность чисел, каждое следующее из которых меньше предыдущего, тогда в моем варианте строка if (StrToInt(ListBox1.Items[i])-1=StrToInt(ListBox1.Items[i+1])) then заменяется на if (StrToInt(ListBox1.Items[i])>StrToInt(ListBox1.Items[i+1])) then |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 45
|
![]()
Вот теперь всё ясно и понятно!
![]() Сама задача была сформулирована и описана довольно-таки скудно и запутано! Поэтому я её неправильно понял! ![]() Но теперь я во всём разобрался! ![]()
end;
end. ![]() |
![]() |
![]() |
![]() |
#7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Поздравляю. Успехов!
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 45
|
![]()
Спасибо! И Вам успехов!
end;
end. ![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Читать немного учитесь. В программе только Едиты. А в скобках написано, что эдиты можно заменить или лабелями или мемо или, как ты сделал, листбоксами. Т.е. в твоей задаче можно использовать любые компоненты, в которых можно вводить и выводить текст. А программа у меня прекрасно работает и выводит индексы, с которых НАЧИНАЕТСЯ убывание на единицу, т.е. то, что записано в условии задачи.
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 45
|
![]()
Хорошо, буду более внимательно и вдумчиво читать условия задач да и вообще любых текстов!
![]() У меня тут появилась необходимость немного модернезировать свои праграммки, а именно сделать дополнительный вывод результатов в StringGrid! Добавил на форму компоненту StringGrid, добавил новую кнопку и описал процедуру: Код:
![]() Выглядит это так: ![]() Где-то я сделал что-то неверно! Помогите пожалуйста разобраться! ![]() P.S. В StringGrid поменял значения на: ColCount=1, RowCount=1, FixedRows=0, FixedCols=0.
end;
end. ![]() Последний раз редактировалось Mr.User; 21.11.2007 в 02:29. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
непонятки с данными | KiSH333 | БД в Delphi | 5 | 01.09.2008 08:36 |
Файл с данными | werser | БД в Delphi | 1 | 24.05.2008 23:40 |
Обмен данными по сети | Altera | Работа с сетью в Delphi | 2 | 23.02.2008 00:13 |
Операции над данными | yulia | БД в Delphi | 24 | 21.05.2007 01:18 |
обмен данными с сервером | BioS | Работа с сетью в Delphi | 15 | 12.02.2007 15:32 |