Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.10.2008, 11:32
Маратович Маратович вне форума
Прохожий
 
Регистрация: 26.10.2008
Сообщения: 9
Репутация: 10
Вопрос Помогите с массивом

В университете учил Delphi, но уже всё забыл.

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

Примерное условие: Ученик получает оценки. Вводим все оценки по очереди и выводим средний балл. Представил форму, как на рисунке. Кнопки "О программе.." и "Выход" сделал. А вот как быть с циклом и массивом? Я уже не помню. Помогите, пожалуйста..
Изображения
Тип файла: jpg Безымянный.JPG (50.0 Кбайт, 13 просмотров)
Ответить с цитированием
  #2  
Старый 26.10.2008, 12:54
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Можно:
1) Создать статический массив например длиною в 100 позиций и в цикле прогонять
2) Создать динамический массив и каждый раз у пользователя спрашивать о числе вводимых оценок
3) Самый опитмальный: использовать Борландовскую структуру TStrings. Добавлять в нее строку командой Add и затем в цикле от 0 до Count-1 считывать и суммировать

Также можно в окно ввода вводить сразу все оценки через какой-нибудь зарезервированный символ, например, запятая и в цикле анализировать уже строку
Ответить с цитированием
  #3  
Старый 26.10.2008, 14:26
Маратович Маратович вне форума
Прохожий
 
Регистрация: 26.10.2008
Сообщения: 9
Репутация: 10
По умолчанию

А с кодом не можешь помочь?
Там чё-то коротенькое должно быть, минимальное..
Хотя бы как цикл написать..
Ответить с цитированием
  #4  
Старый 26.10.2008, 14:40
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

Код:
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)

Как то так)
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.

Последний раз редактировалось Alexo, 26.10.2008 в 17:12.
Ответить с цитированием
  #5  
Старый 26.10.2008, 15:18
Маратович Маратович вне форума
Прохожий
 
Регистрация: 26.10.2008
Сообщения: 9
Репутация: 10
По умолчанию

Это если одну строку обрабатывать?

П.С. А как написать, чтобы цикл выполнялся до нажатия Батона2?
Ответить с цитированием
  #6  
Старый 26.10.2008, 15:32
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

Это если весь обьект TStrings, а там может быть куча строк.

ввести булевую переменную и при каждом проходе цикла проверять, а по нажатию кнопки изменять значение переменной.
Код:
if bStop then
  break;
application.processmessages;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:29.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter