![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 13.06.2011
Сообщений: 1
|
![]()
SOS! Не могу найти ошибку, куда исчезает таблица StrinGrid1 и почему не находится сумма всех элементов матрицы?
Задача: Дана целочисленная матрица {Aij}i=1...n, j=1...m (n,mє[7..10]). Конкретный размер задается командой главного (строки) и контекстного (столбцы) меню. Если в матрице есть два столбца с одинаковыми наибольшими элементами, то найти сумму элементов всей матрицы, в противном случае – количество отрицательных элементов в матрице. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; mm1: TMainMenu; Btn1: TButton; Btn2: TButton; Lbl1: TLabel; PM1: TPopupMenu; N71: TMenuItem; N81: TMenuItem; N91: TMenuItem; N101: TMenuItem; N72: TMenuItem; N82: TMenuItem; N92: TMenuItem; N102: TMenuItem; Label1: TLabel; Button1: TButton; procedure Btn1Click(Sender: TObject); procedure Btn2Click(Sender: TObject); procedure N72Click(Sender: TObject); procedure N71Click(Sender: TObject); procedure N81Click(Sender: TObject); procedure N91Click(Sender: TObject); procedure N101Click(Sender: TObject); procedure N82Click(Sender: TObject); procedure N92Click(Sender: TObject); procedure N102Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; j,i,max,k,summ,n:Integer; FirstSearch: boolean; var P: TPoint; implementation {$R *.dfm} procedure TForm1.Btn1Click(Sender: TObject); begin begin for i:=0 to StringGrid1.RowCount-2 do for j:=0 to StringGrid1.ColCount-1 do StringGrid1.Cells[j,i]:=IntToStr(Random(200)-100); end; for j:=0 to StringGrid1.ColCount-1 do begin max:=StrToInt(StringGrid1.Cells[j,1]); for i:=1 to StringGrid1.RowCount-2 do if max<StrToInt(StringGrid1.Cells[j,i]) then max:=StrToInt(StringGrid1.Cells[j,i]); StringGrid1.Cells[j,StringGrid1.RowCount-1]:=IntToStr(max); end; end; procedure TForm1.Btn2Click(Sender: TObject); begin begin k:=0; for i:=0 to StringGrid1.ColCount-2 do for j:=i+1 to StringGrid1.ColCount-1 do if StrToInt(StringGrid1.Cells[i,StringGrid1.rowcount-1])= StrToInt(StringGrid1.Cells[j,StringGrid1.rowcount-1]) then k:=1; if k=0 then Form1.Caption:= 'Îäèíàêîâûõ ìàêñèìàëüíûõ çíà÷åíèé íåò' else Form1.Caption:= 'Åñòü îäèíàêîâûå ìàêñèìàëüíûå çíà÷åíèÿ' end; if k=0 then begin StringGrid1.Hide; k:=0; for i:=0 to StringGrid1.RowCount-2 do for j:=0 to StringGrid1.ColCount-1 do if strtoint(StringGrid1.Cells[j,i])<0 then k:=k+1; lbl1.Caption:= '×èñëî îòðèöàòåëüíûõ ýëåìåíòîâ â ìàòðèöå ='+ IntToStr(k); end else begin lbl1.Hide; for i:=0 to StringGrid1.RowCount-2 do for j:=0 to StringGrid1.ColCount-1 do StringGrid1.Cells[j,i]:=StringGrid1.Cells[j,i]; for i:=0 to StringGrid1.rowcount-2 do StringGrid1.cells[0,i]:='0'; StringGrid1.Show; end; end; procedure TForm1.N72Click(Sender: TObject); begin N102.Checked := false; n92.Checked := false; n82.Checked := false; n72.Checked := true; StringGrid1.RowCount := 7; end; procedure TForm1.N71Click(Sender: TObject); begin N101.Checked := false; N91.Checked := false; N81.Checked := false; N71.Checked := true; StringGrid1.ColCount := 7; end; procedure TForm1.N81Click(Sender: TObject); begin N101.Checked := false; N91.Checked := false; N71.Checked := false; N81.Checked := true; StringGrid1.ColCount := 8; end; procedure TForm1.N91Click(Sender: TObject); begin N101.Checked := false; N81.Checked := false; N71.Checked := false; N91.Checked := true; StringGrid1.ColCount := 9; end; procedure TForm1.N101Click(Sender: TObject); begin N71.Checked := false; N81.Checked := false; N91.Checked := false; N101.Checked := true; StringGrid1.ColCount := 10; end; procedure TForm1.N82Click(Sender: TObject); begin N102.Checked := false; n92.Checked := false; n72.Checked := false; n82.Checked := true; StringGrid1.RowCount := 8; end; procedure TForm1.N92Click(Sender: TObject); begin N102.Checked := false; n72.Checked := false; n82.Checked := false; n92.Checked := true; StringGrid1.RowCount := 9; end; procedure TForm1.N102Click(Sender: TObject); begin N72.Checked := false; n92.Checked := false; n82.Checked := false; n102.Checked := true; StringGrid1.RowCount := 10; end; end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Целочисленная матрица (язык Pelles C) | Kotik Wasil | Помощь студентам | 0 | 12.12.2010 20:42 |
Целочисленная матрица | Alex Dentz | Помощь студентам | 3 | 30.11.2010 12:03 |
Дана целочисленная матрица | Катюшка_92 | Помощь студентам | 6 | 03.06.2010 09:20 |
целочисленная матрица | chillin | Помощь студентам | 1 | 03.05.2009 13:56 |
Дана целочисленная прямоугольная матрица... | gregorio | Помощь студентам | 1 | 22.04.2009 20:27 |