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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 00:15   #1
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
По умолчанию когда первый раз выбираешь Max, то не выводится Min и наоборот Делфи

проблемка в проге.

Код:
var
  Form97: TForm97;
  I, J : integer;
implementation

{$R *.dfm}

procedure TForm97.Button1Click(Sender: TObject);
var I,J: integer;
begin
Randomize;
For I:= 0 to StringGrid1.ColCount-1  do
 For J:= 0 to StringGrid1.RowCount-1 do
  begin
   StringGrid1.Cells[I,J]:=Inttostr(Random(17));
   end;
end;
procedure TForm97.Button2Click(Sender: TObject);

var
Min, Max, Sum : Integer; {локальные переменные – результаты обработки массива}
begin
if Checkbox1.Checked then {определение Min-элемента}
with StringGrid1 do begin
Min:=StrToInt(Cells[I,J]); {пусть - это Min-элемент}
for I := 1 to ColCount - 1 do
for J:= 1 to RowCount - 1 do
if StrToInt(Cells[I,J])<Min then
Min:=StrToInt(Cells[I,J]);
Edit1.Text:=IntToStr(Min);
end
else Edit1.Text:=' ';
if Checkbox2.Checked then {определение Мах-элемента}
with StringGrid1 do begin
Max:=StrToInt(Cells[I,J]); {пусть - это Мах-элемент}
for I := 1 to ColCount - 1 do
for J:= 1 to RowCount - 1 do
if StrToInt(Cells[I,J])>Max then
Max:=StrToInt(Cells[I,J]);
Edit2.Text:=IntToStr(Max);
end
else Edit2.Text:=' ';
if Checkbox3.Checked then {вычисление Sum}
with StringGrid1 do
begin
Sum:=0; {обнулить значение суммы перед подсчетом}
for i := 1 to ColCount - 1 do
Sum:=Sum+StrToInt(Cells[I,I]);
Edit3.Text:=IntToStr(Sum);
end
else
Edit3.Text:='';
end;
end.
выводятся случайные числа в таблицу, сумма чисел выше главной диагонали, а максимальный и минимальный элемент выводится через раз (то есть когда выбираешь первый раз максимальный, то уже не выводится минимальный элемент и наоборот).

Delphi
carrie bradshaw вне форума Ответить с цитированием
Старый 27.02.2014, 00:25   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

А если написать "Min := StrToInt(Cells[1, 1]); { пусть - это Min-элемент }"?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 27.02.2014, 01:13   #3
carrie bradshaw
Форумчанин
 
Регистрация: 25.01.2014
Сообщений: 105
По умолчанию

BDA, нет, так не получается
carrie bradshaw вне форума Ответить с цитированием
Старый 27.02.2014, 01:25   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

А так?
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  Min, Max, Sum, I, J: integer;
begin
  Edit1.Text := '';
  Edit2.Text := '';
  Edit3.Text := '';
  with StringGrid1 do
  begin
    if CheckBox1.Checked then
    begin
      Min := StrToInt(Cells[0, 0]);
      for I := 0 to ColCount - 1 do
        for J := 0 to RowCount - 1 do
          if StrToInt(Cells[I, J]) < Min then
            Min := StrToInt(Cells[I, J]);
      Edit1.Text := Inttostr(Min);
    end;
    if CheckBox2.Checked then
    begin
      Max := StrToInt(Cells[0, 0]);
      for I := 0 to ColCount - 1 do
        for J := 0 to RowCount - 1 do
          if StrToInt(Cells[I, J]) > Max then
            Max := StrToInt(Cells[I, J]);
      Edit2.Text := Inttostr(Max);
    end;
    if CheckBox3.Checked then
    begin
      Sum := 0;
      for J := 0 to RowCount - 1 do
        for I := J + 1 to ColCount - 1 do
          Sum := Sum + StrToInt(Cells[I, J]);
      Edit3.Text := Inttostr(Sum);
    end;
  end;
end;
Кстати, код подсчета суммы тут другой.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 27.02.2014 в 01:29.
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы. Поменять местами все min и max (даже если будет 4 -min и 1-max). Виталик124 Паскаль, Turbo Pascal, PascalABC.NET 6 19.02.2014 22:44
n - массивов, разной размерности, нужно найти min и max в этих массивах. Из полученных min найти наименьший элемент, из max наибол dmks Помощь студентам 5 09.10.2013 20:48
списке целых чисел все элементы между max и min заменить полусуммой max и min Roman one C/C++ Базы данных 0 20.12.2012 12:14
Матрица Min-Max и Max-Min boog Помощь студентам 3 23.12.2010 13:19