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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2014, 18:34   #1
supreme
 
Регистрация: 12.01.2014
Сообщений: 3
По умолчанию Нахождение доли одного столбца от другого

найти сумму столбца и сумму другого столбца.и посчитать долю первого от второго Чет не получается
Код:
begin
for j:=1 to StringGrid1.RowCount-1 do
begin
a:=strtofloat(StringGrid1.Cells[2,j]);
b:=strtofloat(StringGrid1.Cells[10,j]);
c:=c+a;
d:=D+b;
g:= c/d;
Edit1.Text:=FloatToStr(g);
end;
end;
пдскажите чт не так

Последний раз редактировалось supreme; 26.01.2014 в 20:25.
supreme вне форума Ответить с цитированием
Старый 26.01.2014, 21:12   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Радость

Во первых:
Код:
for j:=0 to StringGrid1.RowCount-1 do
Во вторых, сумма каждого столбца:
Код:
a:=a+strtofloat(StringGrid1.Cells[2,j]);
b:=a+strtofloat(StringGrid1.Cells[10,j]);
Итого получаем:
Код:
begin
a:=0;
b:=0;
for j:=1 to StringGrid1.RowCount-1 do
  begin
    a:=strtofloat(StringGrid1.Cells[2,j]);
    b:=strtofloat(StringGrid1.Cells[10,j]);
  end;
c:=c+a;
d:=D+b;
g:= c/d;
Edit1.Text:=FloatToStr(g);
end;
Приблизительно как-то так...
Streletz вне форума Ответить с цитированием
Старый 26.01.2014, 21:16   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Во первых:
Не факт. В самой первой строке возможно титул

А по проге end поставить после d:=D+b; и убрать после Edit1.Text:=FloatToStr(g);

Да, c и d не помешало бы обнулить перед циклом
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 26.01.2014 в 21:19.
Аватар вне форума Ответить с цитированием
Старый 26.01.2014, 21:21   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

всё не так! )
вот, допустим,
у Вас есть в гриде значения (
x x 2.5 x x x x x x x 0.5
x x 5.0 x x x x x x x 1.5
x x 2.5 x x x x x x x 2.0

что именно Вы хотите получить в Edit1 ???

так, навскидку, попробуйте:
Код:
begin
  c :=0;
  d :=0;
  for j:=1 to StringGrid1.RowCount-1 do
  begin
      c := c + strtofloat(StringGrid1.Cells[2,j]);
      d := d + strtofloat(StringGrid1.Cells[10,j]);
  end;
  if d=0 
     then Edit1.Text := 'бесконечность'
     else  Edit1.Text := FloatToStr(c/d);
end;

UPDATED
Streletz, Аватар, за вами не угонишься!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.01.2014, 21:26   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
бесконечность

Насчет нуля не подумал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные одного столбца сложить с данными другого столбца Aleksandr Microsoft Office Excel 3 17.12.2013 12:03
Заполнение строк одного столбца по отношению к заполненным строкам соседнего столбца Alexsandrr Microsoft Office Excel 10 14.10.2013 16:56
проблема при копировании одного столбца из одного файла в другой файл tanunya Помощь студентам 0 24.02.2012 21:30
Сумма из одного столбца с числами в зависимости от интервала дат из другого столбца Severny Microsoft Office Excel 10 14.03.2011 10:13
Удаление строк столбца совпадающих со строками другого столбца ShamanGood Microsoft Office Excel 23 18.09.2010 09:26