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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 15:44   #1
StudentMarat
Форумчанин
 
Регистрация: 10.10.2008
Сообщений: 123
По умолчанию Целочисленная матрица

Помогите дорешать задачу. А её практически сделал.

Дана целочисленная матрица {Aij}i=1...n, j=1...m (n,mє[6..9]). Конкретный размер задается списками ListBox (отдельно столбцы и строки). Если в матрице есть два столбца c нулевыми элементами, то найти наибольший элемент матрицы, в противном найти наименьший эле-мент. Пароль: на экран выводятся случайно три латинских буквы, в ответ надо ввести сумму номеров первой и третьей букв.

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 application.Terminate;
end;
 
procedure TForm2.ListBox1Click(Sender: TObject);
begin
 StringGrid1.ColCount:=strtoint(listbox1.Items[listbox1.itemindex]);
end;
 
procedure TForm2.ListBox2Click(Sender: TObject);
begin
 StringGrid1.RowCount:=strtoint(listbox2.Items[listbox2.itemindex]);
end;
 
procedure TForm2.StringGrid1DblClick(Sender: TObject);
var
    i,j,t:integer;
begin
randomize;
for i:=0 to StringGrid1.ColCount-1 do
  begin
    for j:=0 to stringgrid1.RowCount-1 do
    begin
      t:=round(random*200-100);
      StringGrid1.Cells[i,j]:=inttostr(t);
    end;
  end;
end;
 
procedure TForm2.FormDblClick(Sender: TObject);
var
    i,j,t:integer;
begin
randomize;
for i:=0 to StringGrid1.ColCount-1 do
  begin
    for j:=0 to stringgrid1.RowCount-1 do
    begin
      t:=round(random*200-100);
      StringGrid1.Cells[i,j]:=inttostr(t);
    end;
  end;
end;
 
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
  application.Terminate;
end;
 
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
 
end;
Вот это я не могу сделать. Если в матрице есть два столбца c нулевыми элементами, то найти наибольший элемент матрицы, в противном найти наименьший эле-мент.

Интерфейс ниже
Изображения
Тип файла: jpg Безымянный.jpg (54.7 Кб, 141 просмотров)
StudentMarat вне форума Ответить с цитированием
Старый 17.10.2011, 16:33   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от StudentMarat Посмотреть сообщение
Помогите дорешать задачу. А её практически сделал.

Вот это я не могу сделать. Если в матрице есть два столбца c нулевыми элементами, то найти наибольший элемент матрицы, в противном найти наименьший эле-мент.
Привет! Думаю вот так
Код:
Kol:=0;
Check:=0;
for i:=1 to RazMas do
begin
   for j:=1 to RazMas do
   begin
      if arr[j,i]=0 then
         inc(Check);
      if j=RazMas then
      begin
         if Check=RazMas then
            inc(Kol);
         Check:=0;
      end;
   end;
end;
max:=arr[i,j];
min:=arr[i,j];
if Kol=2 then
begin
   for i:=1 to RazMas do
      for i:=1 to RazMas do
      begin
         if arr[i,j]>max then
            max:=arr[i,j];
      end; 
end
else
begin
   for i:=1 to RazMas do
      for i:=1 to RazMas do
      begin
         if arr[i,j]<min then
            min:=arr[i,j];
      end; 
end;
И выводишь max и min.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Целочисленная матрица новичок39 Помощь студентам 0 13.06.2011 19:35
Целочисленная матрица Alex Dentz Помощь студентам 3 30.11.2010 12:03
Дана целочисленная прямоугольная матрица. Lollipo Общие вопросы C/C++ 1 12.10.2010 10:52
Дана целочисленная матрица Катюшка_92 Помощь студентам 6 03.06.2010 09:20
целочисленная матрица chillin Помощь студентам 1 03.05.2009 13:56