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

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

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

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

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

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

помогите пожалуйста, нужно найти сумму столбца в котором находится минимальный элемент Stringgrida.
Ponce de leon вне форума Ответить с цитированием
Старый 17.03.2015, 14:15   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и что вызывает сложности - как найти индекс столбца с минимальным элементом или как сумму элементов найти?
Покажите, хотя бы ваш код, как Вы заполняете стрингрид...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.03.2015, 14:46   #3
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

заполняю с помощью файла.вот процедура:
Код:
procedure TForm3.N2Click(Sender: TObject);
begin

if OpenDialog1.Execute then
assignfile(f,OpenDialog1.FileName);
reset(f);
for i:=1 to n do
for j:=1 to n do
 begin
  read(f,a[i,j]);
  StringGrid1.Cells[j,i]:=inttostr(a[i,j]);
 end;
end;

Последний раз редактировалось Stilet; 17.03.2015 в 14:56.
Ponce de leon вне форума Ответить с цитированием
Старый 17.03.2015, 14:49   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А если этот минимальный не один и в разных столбцах?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2015, 14:51   #5
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

хм, если 2 минимальных то находит сумму этих 2 столбцов.
Ponce de leon вне форума Ответить с цитированием
Старый 17.03.2015, 14:55   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И если во всех - то сумму всех? Как-то не вяжется найти сумму столбца в ед.числе с суммой всех столбцов, или двух, не важно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2015, 14:57   #7
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

Мне нужно найти сумму столбца с минимальным элементом, а если этих элементов 2, то найти сумму этих столбцов.
Ponce de leon вне форума Ответить с цитированием
Старый 17.03.2015, 17:28   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ponce de leon Посмотреть сообщение
заполняю с помощью файла.вот процедура:
для начала исправьте ошибку в процедуре - после Execute нужно начинать процедурный блок Begin - end, иначе, если диалог открытия файлов закроют "крестиком" (или кнопкой "отмена") - в коде будет катастрофа.
ну и переменные цикла лучше делать локальными переменными.

сравните:
Код:
procedure TForm3.N2Click(Sender: TObject);
var i, j : integer;
begin
if OpenDialog1.Execute then begin
   assignfile(f,OpenDialog1.FileName);
   reset(f);
   for i:=1 to n do
    for j:=1 to n do
     begin
        read(f,a[i,j]);
        StringGrid1.Cells[j,i]:=inttostr(a[i,j]);
     end;
    CloseFile(f);
  end;
end;
а вот насчёт суммы ВСЕХ столбцов, содержащих минимальное значение - я бы уточнил. Вы даже не представляете, насколько это усложняет алгоритм решения данной задачи!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.03.2015, 17:40   #9
Ponce de leon
Новичок
Джуниор
 
Регистрация: 17.03.2015
Сообщений: 7
По умолчанию

Спасибо за поправку) а на счёт задачи, хотя бы "найти сумму столбца где находится минимальный элемент" хоть что-то что бы было, а то завтра лабу сдавать, а так сделаю матрицу с 1 минимальный элементом.
Ponce de leon вне форума Ответить с цитированием
Старый 17.03.2015, 17:59   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вот код для поиска столбца с минимальным значением (первым слева направо, если их несколько)
Код:
var i, j, IndexMinColumn, IndexMinRow : integer;
  Summa : integer;
begin
  IndexMinColumn := 1; {считаем 1-й столбец с минимальным}
  IndexMinRow := 1;  {считаем 1-й в столбце минимальный}
  for i:=1 to n do
    for j:=1 to n do
     begin
        if IntToStr(StringGrid1.Cells[j,i])<IntToStr(StringGrid1.Cells[IndexMinColumn,IndexMinRow]) then begin
         IndexMinColumn := j;
         IndexMinRow := i
     end;
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