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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2011, 19:35   #1
новичок39
Новичок
Джуниор
 
Регистрация: 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.
новичок39 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Целочисленная матрица (язык 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