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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.01.2010, 19:51
Аватар для Lotles
Lotles Lotles вне форума
Прохожий
 
Регистрация: 05.09.2009
Адрес: г. Новокузнецк
Сообщения: 46
Репутация: -52
По умолчанию сумму положительных и отрицательных чисел матрицы

Здравствуйте !!!
Этот код считает сумму положительных и отрицательных чисел матрицы. Подскажите, почему у меня в сообщении ShowMessage сумма положительных и отрицательных чисел имеют огромные значения ?

Код:
type
  TIntMatrix = array of array of Integer;
 
function ReadMatrix(Grid: TStringGrid): TIntMatrix;
var
  r, c: Integer;
  Matrix: TIntMatrix;
begin
  SetLength(Matrix, StringGrid1.RowCount, Grid.ColCount);
  for r := 0 to StringGrid1.RowCount - 1 do
    for c := 0 to Grid.ColCount - 1 do
      Matrix[r,c] := StrToInt(StringGrid1.Cells[c,r]);
  Result := Matrix;
end;
 
procedure GetSum(Matrix: TIntMatrix; SumOtr, SumPol: Integer); 
var
  I, J: Integer;
begin
  SumOtr := 0;
  SumPol := 0;
  for I := 0 to High(Matrix) do
    for J := 0 to High(Matrix) do
      if Matrix[I,J] > 0 then
        SumPol := SumPol + Matrix[I,J]
      else
        if Matrix[I,J] < 0 then SumOtr := SumOtr + Matrix[I,J];
end;
 
 
 
procedure TMainForm.Button1Click(Sender: TObject);
var
  Matrica: TIntMatrix;
  SumOtr, SumPol: Integer;
begin
  Matrica := ReadMatrix(InputStringGrid);
  GetSum(Matrica, SumOtr, SumPol);
  ShowMessage('Сумма положительных SomPol = ' + IntToStr(SumPol) + '. Сумма отрицательных SumOtr = ' + IntToStr(SumOtr) + '.');
end;
 
end.
__________________
Skype: Lotles-XXXX
Ответить с цитированием
  #2  
Старый 06.01.2010, 20:45
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Потому-что ошибка описания процедуры.
Надо так:
Код:
procedure GetSum(Matrix: TIntMatrix; Var SumOtr, SumPol: Integer); 
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 08.01.2010, 16:27
Аватар для Lotles
Lotles Lotles вне форума
Прохожий
 
Регистрация: 05.09.2009
Адрес: г. Новокузнецк
Сообщения: 46
Репутация: -52
По умолчанию

СтрадалецЪ, спасибо
__________________
Skype: Lotles-XXXX

Последний раз редактировалось Lotles, 08.01.2010 в 16:34.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter