Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 22:01   #1
anubiss
 
Аватар для anubiss
 
Регистрация: 29.12.2011
Сообщений: 9
Лампочка Работа с таблицей

(Delphi) Подскажите пожалуйста как в StringGrid (заполненный числами) определить номер столбца с наибольшим количеством отрицательных элементов??

Последний раз редактировалось anubiss; 01.05.2012 в 22:33.
anubiss вне форума Ответить с цитированием
Старый 01.05.2012, 23:02   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не поверите - нужно в цикле пройтись по всем столбцам, для каждого числа найти количество отрицательных элементов в этом столбце и найти тот столбец, где это количество - максимально!

Что у Вас не получается?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.05.2012, 23:57   #3
anubiss
 
Аватар для anubiss
 
Регистрация: 29.12.2011
Сообщений: 9
По умолчанию

не ну это конечно понятно)) А вот как в коде это записать??
anubiss вне форума Ответить с цитированием
Старый 02.05.2012, 00:01   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Код:
maxc:=-1;
pos:=-1;
for i:=0 to sg.colcount-1 do
begin
  c:=0;
  for j:=0 to sg.rowcount-1 do
    if sg.cells[i,j]<>'' then
      if sg.cells[i,j][1]='-' then
        inc(c);
  if c>maxc then
  begin
    maxc:=c;
    pos:=i;
  end;
end;
Писал здесь, так что возможны ошибки)
[offtop]Serge_Bliznykov, всю малину порчю([/offtop]
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 02.05.2012 в 00:03.
BDA вне форума Ответить с цитированием
Старый 02.05.2012, 00:05   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не поверите - командами соответствующего языка программирования.

на Delphi это будет примерно так:
Код:
MaxIndex:=-1;
MaxValue := 0;
for j:=0 to StringGrid1.ColCount-1 do begin
   CurCountNeg :=0;
   for i:=0 to StringGrid1.RowCount-1 do
       if IntToStr( StringGrid1.Cells[j, i] )<0 then Inc(CurCountNeg);
   if (MaxIndex<0) or (CurCountNeg>MaxValue) then begin
         MaxValue := CurCountNeg;  
         MaxIndex := j          
   end;
end;
ShowMessage('Максимальное количество отр.чисел в столбце'+IntToStr(MaxIndex));

BDA, да ничего страшного. лишь бы TC в предложенных ему вариантах решения разобрался!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.05.2012, 00:07   #6
anubiss
 
Аватар для anubiss
 
Регистрация: 29.12.2011
Сообщений: 9
По умолчанию

Огромное спасибо!!
А на счёт весов извините, я просто забыл их поставить))
anubiss вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с таблицей в Microsoft Word 6aHaH4uk Microsoft Office Word 6 09.12.2011 04:53
Работа с таблицей в делфи Katringv БД в Delphi 0 19.05.2011 12:24
Работа с таблицей StringGrid Marsel737 Общие вопросы Delphi 8 31.03.2010 12:24
работа с таблицей photozaz БД в Delphi 4 27.09.2008 21:29
Работа с таблицей без БД Гр_ БД в Delphi 3 06.06.2007 16:31