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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 21:27   #1
metra52
 
Регистрация: 25.04.2011
Сообщений: 6
По умолчанию Двухмерные массивы (Delphi 7)

В матрице найти столбец в котором произведение минимального элемента на максимальный больше заданной величины А. Разделить элементы строки с таким же номером как найденый столбец на величину А и вывести полученное число.


Решение на дельфи 7

PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsStdCtrls;

type
  TForm1 
= class(TForm)
    
Button1TButton;
    
Memo1TMemo;
        
Memo2TMemo;
    
Edit1TEdit;
    
Edit2TEdit;
    
Label1TLabel;
    
Label2TLabel;
    
procedure Button1Click(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;
                                
pr,i,e,j,min1,n,k,max1,A,f:integer;
        
m:array[1..10,1..10of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(SenderTObject);
label  lblb1;
begin

Memo1
.Lines.clear;
Memo1.Lines.Add('Массив');
Memo2.Lines.clear;
Memo2.Lines.Add('Результат');

    
A:=strtoint(edit1.text);
     
randomize;
     for 
i:=1 to 3 do
         
begin
        
for j:=1 to 3 do
            
begin
            f
:=random(strtoint(edit2.text));
            if 
f>0 then m[i,j]:=f;
         
end;
    
end;

     for 
i:=1 to 3 do
     
begin
        Memo1
.Lines.Add('| '+inttostr(m[i,1])+' | '+inttostr(m[i,2])+' | '+inttostr(m[i,3])+' |');
     
end;

 
min1:=m[1,1];
 
n:=1;
 
max1:=m[1,1];
 
k:=1;
 for 
i:=1 to 3 do
     
begin
     
for j:=1 to 3 do
    
begin
     
if min1>m[j,ithen begin min1:=m[j,i];  n:=iend;
    
end;
    for 
j:=1 to 3 do
     
begin
        
if max1<m[j,ithen begin max1:=m[j,i]; k:=i  end;
     
end;
     if (
min1*max1)>A then
  begin
    pr
:=min1*max1Memo2.Lines.Add('Произведение '+inttostr(pr)+' Строка 'inttostr(n));
     for 
e:=1 to 3 do
        
begin
            Memo2
.Lines.Add(inttostr(m[n,ediv A));
         
end;
     goto 
lb;
     
end;



 
end;

{ if (
i=4) and ((min1*max1)=0then
                begin
                 Memo2
.Lines.Add('Нет столбца произведение в котором больше '+inttostr(A)); goto lb;
    
end; }



lb:


end;

end
metra52 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ДВУХМЕРНЫЕ МАССИВЫ Pandemona18 Паскаль, Turbo Pascal, PascalABC.NET 1 31.03.2011 20:39
Двухмерные массивы GaDinka Qt и кроссплатформенное программирование С/С++ 2 01.02.2011 10:42
Двухмерные массивы lilia2121 Помощь студентам 0 25.05.2010 10:37
С++ Двухмерные массивы rus_rock_no_dead Помощь студентам 4 23.05.2010 23:21
Двухмерные массивы Sexy girl* Помощь студентам 1 24.12.2009 04:50