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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2015, 18:55   #11
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

http://s017.radikal.ru/i406/1503/69/5f1da09a3878.png попробовал вставить в программу вот что-то пошло не так.
Ponce de leon вне форума Ответить с цитированием
Старый 18.03.2015, 09:58   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Ponce de leon
ну правильно ругается.
Для получения числа из ячейки грида нужно обратное преобразование Str -> Int:
Код:
if StrToInt(StringGrid1....)< StrToInt( StringGrid1....) then
p.s. кстати, насколько я видел, у вас массив из файла читается в переменную a. Если она доступна (а она доступна - строчками выше вы находите разные суммы как раз с помощью переменной a), то можно искать минимум и сумму столбца именно в этой матрице. Это и надёжней и проще и быстрее. Ведь грид - это средство отображения (визуализации) данных. Если, конечно, пользователь не имеет возможности изменять значения в гриде (редактирование выключено).
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.03.2015, 12:19   #13
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

Вот ищет сумму строки с минимальным элементом, а вот столбца не могу чёт туплю.
Код:
6:begin IndexMinColumn := 1;
  IndexMinRow := 1;
  for i:=1 to n do
for j:=1 to n do
if a[i][j] < a[IndexMinColumn][IndexMinRow] then begin
IndexMinColumn := j;
IndexMinRow := i;
end;
for j := 1 to n do
    summa:=summa+a[IndexMinColumn][j];  end;
else
 begin
  ShowMessage('Âû íå âûáðàëè òðåóãîëüíèê äëÿ íàõîæäåíèÿ ñóììû');
  exit
           end;
                    end;
StringGrid2.Cells[1,1]:=inttostr(summa);
__
код форматируйте тегами!
Модератор

Последний раз редактировалось Serge_Bliznykov; 18.03.2015 в 13:16.
Ponce de leon вне форума Ответить с цитированием
Старый 18.03.2015, 13:38   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

смотрите, в этом идиотском StringGrid'е переставлены местами индексы строк и столбцов, там сначала идёт индекс столбца, а потом индекс строки.
при обращении к матрице принято писать наоборот - сначала номер строки, потом номер столбца.

поэтому пробуйте так:
Код:
6:begin 
    IndexMinColumn := 1;
    IndexMinRow := 1;
    for i:=1 to n do
       for j:=1 to n do
         if a[i][j] < a[IndexMinRow][IndexMinColumn] then 
         begin
           IndexMinRow := i;
           IndexMinColumn := j;
         end;

    ShowMessage('Столбец номер '+IntToStr(IndexMinColumn)+
       ' имеет минимальное значение = '+IntToStr(a[IndexMinRow][IndexMinColumn]));

    summa := 0; {надо обязательно обнулить переменную, где будем накапливать сумму}
    for i := 1 to n do
       summa:=summa+a[i][IndexMinColumn];  

    StringGrid2.Cells[1,1] := inttostr(summa);
  end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скажите почему не пашет программа и как сделать парвильно? Нужно найти сумму ряда по формуле k!/(k+2)! при к от 1 до 30. в VB 6.0 Efte Помощь студентам 0 12.12.2013 22:43
найти сумму 2^2+2^3+2^4...2^10, Операцию возведения не использовать, нужно через цикл for)) dykee Помощь студентам 5 17.11.2013 20:01
Найти сумму и кол-во элементов каждого столбца кратных К1 и К2 (Delphi) Richik123 Помощь студентам 1 20.11.2012 15:48
Нужно посчитать сумму ряда. В программе ошибка. Пожалуйста помогите найти Рита Белова Помощь студентам 5 05.12.2009 13:07