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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 11.06.2010, 02:21
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

а вообще попробую в своей программе удалить цикл for, а то что внутри цикла оставить
а переменные которые ты к нулю приравневаешь перенеси в начало программы
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
  #17  
Старый 11.06.2010, 02:21
nblF-nblF* nblF-nblF* вне форума
Прохожий
 
Регистрация: 02.06.2010
Сообщения: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от SerginhoLD
\
я ж тебе предложил сначала в матрицу все занести такимиже for-ами\

вот этот момент можешь объяснить, непонимаю...
Ответить с цитированием
  #18  
Старый 11.06.2010, 02:25
nblF-nblF* nblF-nblF* вне форума
Прохожий
 
Регистрация: 02.06.2010
Сообщения: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от SerginhoLD
а вообще попробую в своей программе удалить цикл for, а то что внутри цикла оставить
а переменные которые ты к нулю приравневаешь перенеси в начало программы
так тоже программа не работает
Ответить с цитированием
  #19  
Старый 11.06.2010, 02:28
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

вообще я ток заметил, у тебя циклы while бесконечные, тебе твои i и j надо увеличивать, поэтому перед закрытем цикла увеличивай переменную на единицу , т.е. i:=i+1; или j:=j+1;
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
  #20  
Старый 11.06.2010, 07:57
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 340
Версия Delphi: 11.3
Репутация: 429
По умолчанию

Может такое решение пойдет?
Код:
var
 i, j: Byte;
 Sum: Double;
begin
 for i := 0 to StringGrid1.RowCount - 1 do
 begin
  Sum := 0;
  for j := 0 to StringGrid1.ColCount - 1 do
   Sum := Sum + StrToFloatDef(StringGrid1.Cells[j,i], 0);
  Label1.Caption := Label1.Caption + 'Строка №' + IntToStr(i+1) +
                    ' = ' + FloatToStr(Sum) + '; ';
 end;
end;
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #21  
Старый 11.06.2010, 08:39
nblF-nblF* nblF-nblF* вне форума
Прохожий
 
Регистрация: 02.06.2010
Сообщения: 17
Репутация: 10
По умолчанию

спасибо! а как еще найти сумму всех элементов???
Ответить с цитированием
  #22  
Старый 11.06.2010, 09:12
Аватар для Mad programmer
Mad programmer Mad programmer вне форума
Прохожий
 
Регистрация: 11.05.2010
Сообщения: 23
Репутация: 10
По умолчанию

Сумма всех элементов произвольной матрицы
Код:
var Summ:real; //сумма
    col:integer; //столбец
    row:integer; //строка
begin
  Summ:=0;
  for row := 1 to StringGrid1.RowCount do
    begin
      for col := 1 to StringGrid1.ColCount do
        //если ячейка не пустая то суммируем ее
        if StringGrid1.Cells[col,row]<>'' then
          begin
           try
             Summ:=Summ+strtofloat(StringGrid1.Cells[col,row]);
           Except
              MessageDlg('Ошибка. Данные введены не правильно',mtError,[mbOK],0);
           end;
          end;
    end;
  Label1.Caption:='Сумма: '+floattostr(Summ);


Вот код. считает суммы если матрица 3 на 3. 
.....
var SummR1:real; //сумма строки 1
    SummR2:real; //сумма строки 2
    SummR3:real; //сумма строки 3
    col:integer; //столбец
    row:integer; //строка
begin
  SummR1:=0;
  SummR2:=0;
  SummR3:=0;

  for col := 1 to 3 do
    begin
       //если ячейка не пустая то суммируем ее
        if StringGrid1.Cells[col,1]<>'' then
          begin
           try
             SummR1:=SummR1+strtofloat(StringGrid1.Cells[col,1]);
           Except
              MessageDlg('Ошибка. Данные введены не правильно',mtError,[mbOK],0);
           end;
          end;

        if StringGrid1.Cells[col,2]<>'' then
          begin
           try
             SummR2:=SummR2+strtofloat(StringGrid1.Cells[col,2]);
           Except
              MessageDlg('Ошибка. Данные введены не правильно',mtError,[mbOK],0);
           end;
          end;


        if StringGrid1.Cells[col,3]<>'' then
          begin
           try
             SummR3:=SummR3+strtofloat(StringGrid1.Cells[col,3]);
           Except
              MessageDlg('Ошибка. Данные введены не правильно',mtError,[mbOK],0);
           end;
          end;

    end;
  Label1.Caption:='Сумма стр. 1: '+floattostr(SummR1);
  Label2.Caption:='Сумма стр. 2: '+floattostr(SummR2);
  Label3.Caption:='Сумма стр. 3: '+floattostr(SummR3);
end;
Admin: Пользуемся тегами для оформления кода, при рецедиве - БАН.

Последний раз редактировалось Admin, 11.06.2010 в 09:53.
Ответить с цитированием
  #23  
Старый 11.06.2010, 13:20
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

блин, я его мучал мучал, а вы ему ответ написали
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter