
11.06.2010, 09:12
|
 |
Прохожий
|
|
Регистрация: 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: Пользуемся тегами для оформления кода, при рецедиве - БАН.
|