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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 15:57   #1
ДМИТРИЙ1234
Пользователь
 
Регистрация: 31.05.2011
Сообщений: 19
По умолчанию Ввести с клавиатуры целочисленную матрицу размера 4х4. Найти минимальный элемент каждого столбца.

Ввести с клавиатуры целочисленную матрицу размера 4х4.
Найти минимальный элемент каждого столбца.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    StringGrid1: TStringGrid;
    Button2: TButton;
    Button3: TButton;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
k: byte;
begin
Randomize; // инициализация генератора случайных чисел.
with StringGrid1 do
for i:= 0 to RowCount - 1 do
for j:= 0 to ColCount - 1 do
  begin
  k:= Random(2);
  if k = 0 then
Cells[j,i]:= '-' + IntToStr(Random(100))
  else
Cells[j,i]:= IntToStr(Random(100));
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i, j, min, k: integer;
begin
with StringGrid1 do
for j:= 0 to ColCount - 1 do // Идем по столбцами.
  begin
  k:= 0;
  min:= Abs(StrToInt(Cells[j,0])); // минимальное число в столбце - модуль верхнего.
    for i:= 0 to RowCount - 1 do // Идем по строкам.
      begin
        if abs(StrToInt(Cells[j,i])) < min then
          begin
          min:= abs(StrToInt(Cells[j,i]));
          k:= i;
          end;
      end;
  Cells[j,k]:= '0';
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Close;
end;

end.

Последний раз редактировалось Serge_Bliznykov; 14.05.2013 в 16:04.
ДМИТРИЙ1234 вне форума Ответить с цитированием
Старый 14.05.2013, 15:59   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Спасибо за прогу, братюнь! пригодится...
Rififi вне форума Ответить с цитированием
Старый 14.05.2013, 16:27   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ввести с клавиатуры
Код:
with StringGrid1 do for i:= 0 to RowCount - 1 do for j:= 0 to ColCount - 1 do Cells[j,i]:= InputBox('Введи число','','');
Цитата:
пригодится...
Врядли.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2013, 16:45   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Врядли.

Выкинул... ):
Rififi вне форума Ответить с цитированием
Старый 14.05.2013, 20:57   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Кстати, так всё таки:
Цитата:
Код:
Randomize; // инициализация генератора случайных чисел.
..... Random(100)
или
Цитата:
Ввести с клавиатуры целочисленную матрицу размера 4х4.
?!
это первый вопрос.

второй вопрос. Вы знаете, что если у StringGrid'а включить опцию goEditing, то содержимое грида можно редактировать?
(опцию можно включить как в дизайнере - в свойствах грида, так и в RunTime:
Код:
  StringGrid1.Options := StringGrid1.Options + [goEditing];

ну и третий вопрос.
Что, собственно, не получается? В чём нужна помощь?!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести массив с клавиатуры. В полученном массиве найти минимальный элемент. Вывести его на экран ok57 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.05.2013 05:07
Получить новую матрицу умножением элементов каждого столбца исходной матрицы на наименьший по модулю элемент Neat Microsoft Office Excel 4 28.06.2011 00:56
массив R(N,M) - найти сумму кубов отрицательных элементов, минимальный элемент столбца № (Бейсик) Люстик Помощь студентам 0 16.03.2011 17:29