![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
В университете учил Delphi, но уже всё забыл.
Дело в том, что нужно сделать программку, которая принимает числа (заранее кол-во чисел неизвестно), потом вычисляет из них среднее арифметическое. Примерное условие: Ученик получает оценки. Вводим все оценки по очереди и выводим средний балл. Представил форму, как на рисунке. Кнопки "О программе.." и "Выход" сделал. А вот как быть с циклом и массивом? Я уже не помню. Помогите, пожалуйста.. |
|
#2
|
|||
|
|||
|
Можно:
1) Создать статический массив например длиною в 100 позиций и в цикле прогонять 2) Создать динамический массив и каждый раз у пользователя спрашивать о числе вводимых оценок 3) Самый опитмальный: использовать Борландовскую структуру TStrings. Добавлять в нее строку командой Add и затем в цикле от 0 до Count-1 считывать и суммировать Также можно в окно ввода вводить сразу все оценки через какой-нибудь зарезервированный символ, например, запятая и в цикле анализировать уже строку |
|
#3
|
|||
|
|||
|
А с кодом не можешь помочь?
Там чё-то коротенькое должно быть, минимальное.. Хотя бы как цикл написать.. |
|
#4
|
|||
|
|||
|
Код:
var
sum : integer;
stl : TStrings;
begin
stl := TStrings.Create;
//nen добавлене значений в stl
for i := 0 to high(stl) do
Sum := sum + StrToInt(stl);
sum := Round(sum / stl.count)Как то так) Последний раз редактировалось Alexo, 26.10.2008 в 17:12. |
|
#5
|
|||
|
|||
|
Это если одну строку обрабатывать?
П.С. А как написать, чтобы цикл выполнялся до нажатия Батона2? |
|
#6
|
|||
|
|||
|
Это если весь обьект TStrings, а там может быть куча строк.
ввести булевую переменную и при каждом проходе цикла проверять, а по нажатию кнопки изменять значение переменной. Код:
if bStop then break; application.processmessages; |