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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.03.2010, 15:11
Nurlan Nurlan вне форума
Прохожий
 
Регистрация: 29.12.2009
Сообщения: 28
Репутация: 10
По умолчанию определить кол-во уч-ков рост которого не превышаетзаданного числа

какие компоненты нужно использовать для этой задачи?

рост 22 уч-ков класса представлен в виде массива определить кол-во уч-ков рост которого не превышаетзаданного числа

P.S как сделать чтобы программа считала кол-во уч-ков рост которых не превышает заданного числа
Ответить с цитированием
  #2  
Старый 27.03.2010, 17:05
Аватар для segas
segas segas вне форума
Новичок
 
Регистрация: 08.02.2009
Сообщения: 97
Репутация: 10
Подмигивание

Ну я бы поставил компоненты: TStringGrid, TEdit и TButton
У компанента TStringGrid свойства ColCount изменил на 22, RowCount изменил на 1
Ответить с цитированием
  #3  
Старый 27.03.2010, 18:59
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Цитата:
Сообщение от Nurlan
считала кол-во уч-ков рост которых не превышает заданного числа
Вообще-то, если перевести на английский, то это в чистом виде SQL:
SELECT COUNT(rost)
FROM table1
WHERE rost < 180
вместо числа лучше использовать параметр, но неохота массив в базу заносить.
Ответить с цитированием
  #4  
Старый 28.03.2010, 07:31
Nurlan Nurlan вне форума
Прохожий
 
Регистрация: 29.12.2009
Сообщения: 28
Репутация: 10
Печаль

Цитата:
Сообщение от segas
Ну я бы поставил компоненты: TStringGrid, TEdit и TButton
У компанента TStringGrid свойства ColCount изменил на 22, RowCount изменил на 1

помогите плз!http://pics.kz/viewfull1072780 вот моя таблица, как сделать чтобы например если в ячейке число будет больше 180 в label считалось как 1 т.е если в 3 ячейках будет число 190 в label'e будет число 3, помогите очень прошу помощи
Ответить с цитированием
  #5  
Старый 28.03.2010, 07:40
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
Cnt := 0;
For I := 0 To StringGrid1.ColCount-1 Do
  In StrToInt(StringGrid1.Cells[0,I]) >= 180 Then Inc(Cnt);

После окончания цикла в переменной Cnt будет кол-во ячеек, значение в которых >= 180.
Ответить с цитированием
  #6  
Старый 28.03.2010, 09:03
Nurlan Nurlan вне форума
Прохожий
 
Регистрация: 29.12.2009
Сообщения: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Код:
Cnt := 0;
For I := 0 To StringGrid1.ColCount-1 Do
  In StrToInt(StringGrid1.Cells[0,I]) >= 180 Then Inc(Cnt);

После окончания цикла в переменной Cnt будет кол-во ячеек, значение в которых >= 180.
што я сделал не так?
Изображения
Тип файла: jpg kod.jpg (22.8 Кбайт, 9 просмотров)
Тип файла: jpg fail.jpg (24.9 Кбайт, 7 просмотров)
Ответить с цитированием
  #7  
Старый 29.03.2010, 01:30
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Во-первых, ты не делаешь инкремент CNT (неужели скопировать трудно? Правда, уважаемый Imikle перепутал нумерацию в Cells и вместо IF написал IN), во-вторых, ты в цикле выводишь нуль, в-третьих, т.к. ячейки могут быть пустыми, лучше писать так:
Код:
if (Length(StringGrid1.Cells[I,0]) > 0) and (StrToInt(StringGrid1.Cells[I,0]) < 180) then Inc(Cnt);
К тому же что-то ты всё время меняешь условия: то "не превышает" (поэтому я поставил знак "меньше"), то "больше". Не суетись, а то решишь не ту задачку.

Последний раз редактировалось AlexSku, 29.03.2010 в 01:44.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter