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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 13:39   #1
Kserken
Новичок
Джуниор
 
Регистрация: 15.12.2009
Сообщений: 2
По умолчанию Заполнение строки StringGrid согласно условию

Помогите решить вопрос. Нужно сделать программу универсальной, т.е. значение строк PiA, PiB, PiC заполнялось таким образом: если в ячейке строки Партнер A есть число и оно встречается 1 раз, то соответствующая ячейка PiA будет равна вероятности 0,1 , если встречается 2 раза, то эти вероятности сложить, если до этого мы учитывали это число(слаживали верояности PiA), то ячека PiA соответствующая этому числу будет равна 0.

Код:
procedure TForm1.Button2Click(Sender: TObject);
var i,n:integer; k:real;a: array[1..10] of integer;
el1,el2,el3,el4,el5,el6,el7,el8,el9,el10:integer;
k1,k2,k3,k4,k5,k6,k7,k8,k9,k10:real;
begin
k1:=0.1;
k2:=0.1;
k3:=0;
k4:=0.1;
k5:=0.1;
k6:=0.1;
k7:=0;
k8:=0.1;
k9:=0.1;
k10:=0.1;


el1:=StrToInt(StringGrid1.Cells[0,0]);
for i:=1 to StringGrid1.ColCount-1 do
  begin
    if el1=StrToInt(StringGrid1.Cells[i,0]) then k1:=k1+0.1;
  end;
    StringGrid1.Cells[0,3]:=FloatToStr(k1);

el2:=StrToInt(StringGrid1.Cells[1,0]);
for i:=2 to StringGrid1.ColCount-1 do
  begin
    if el2=StrToInt(StringGrid1.Cells[i,0]) then k2:=k2+0.1;
  end;
    StringGrid1.Cells[1,3]:=FloatToStr(k2);

el3:=StrToInt(StringGrid1.Cells[2,0]);
for i:=2 to StringGrid1.ColCount-1 do
  begin
    if el3=StrToInt(StringGrid1.Cells[i,0]) then k3:=k3+0.1
  end;
    StringGrid1.Cells[2,3]:=FloatToStr(k3);

el4:=StrToInt(StringGrid1.Cells[3,0]);
for i:=4 to StringGrid1.ColCount-1 do
  begin
    if el4=StrToInt(StringGrid1.Cells[i,0]) then k4:=k4+0.1;
  end;
    StringGrid1.Cells[3,3]:=FloatToStr(k4);

el5:=StrToInt(StringGrid1.Cells[4,0]);
for i:=5 to StringGrid1.ColCount-1 do
  begin
    if el5=StrToInt(StringGrid1.Cells[i,0]) then k5:=k5+0.1;
  end;
    StringGrid1.Cells[4,3]:=FloatToStr(k5);

el6:=StrToInt(StringGrid1.Cells[5,0]);
for i:=6 to StringGrid1.ColCount-1 do
  begin
    if el6=StrToInt(StringGrid1.Cells[i,0]) then k6:=k6+0.1;
  end;
    StringGrid1.Cells[5,3]:=FloatToStr(k6);

el7:=StrToInt(StringGrid1.Cells[6,0]);
for i:=6 to StringGrid1.ColCount-1 do
  begin
    if el7=StrToInt(StringGrid1.Cells[i,0]) then k7:=k7+0.1;
   end;
    StringGrid1.Cells[6,3]:=FloatToStr(k7);

el8:=StrToInt(StringGrid1.Cells[7,0]);
for i:=8 to StringGrid1.ColCount-1 do
  begin
    if el8=StrToInt(StringGrid1.Cells[i,0]) then k8:=k8+0.1;
  end;
    StringGrid1.Cells[7,3]:=FloatToStr(k8);

el9:=StrToInt(StringGrid1.Cells[8,0]);
for i:=9 to StringGrid1.ColCount-1 do
  begin
    if el9=StrToInt(StringGrid1.Cells[i,0]) then k9:=k9+0.1;
  end;
    StringGrid1.Cells[8,3]:=FloatToStr(k9);

el10:=StrToInt(StringGrid1.Cells[9,0]);
for i:=10 to StringGrid1.ColCount-1 do
  begin
    if el10=StrToInt(StringGrid1.Cells[i,0]) then k10:=k10+0.1;
  end;
    StringGrid1.Cells[9,3]:=FloatToStr(k10);
Как сделать правильно не могу понять.
Изображения
Тип файла: jpg 2010-11-28_020717.jpg (40.4 Кб, 146 просмотров)
Вложения
Тип файла: rar ЛАБА_2.rar (449.6 Кб, 7 просмотров)
Kserken вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение строки StringGrid согласно условию Kserken Общие вопросы Delphi 1 28.11.2010 12:25
Заполнение последней строки StringGrid нулями. Asblue Помощь студентам 2 01.11.2010 15:05
Создать программу, позволяющую разместить согласно условию задания дома в районе. sergeibel Помощь студентам 0 03.04.2010 23:08
заполнение ячеек по условию Arcto Microsoft Office Excel 1 17.02.2010 11:21
Заполнение таблицы по условию ABCOz Microsoft Office Excel 7 10.09.2009 12:29