4 / 4 / 2
Регистрация: 16.11.2009
Сообщений: 19
1

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

24.12.2009, 21:56. Показов 704. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:В матрице найти столбец, в котором произведение минимального элемента на максимальный больше заданной величины А. Разделить элементы строки с таким же номером, как найденный столбец, на величину А.
Проблема в том,что произведение минимального и максимального числа в последнем столбце прога считает за 0.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Mask;
 
type
 
  TMatr = array of array of real;
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    Panel4: TPanel;
    Button1: TButton;
    StaticText1: TStaticText;
    Panel5: TPanel;
    Memo2: TMemo;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Memo1: TMemo;
    Splitter1: TSplitter;
    Button5: TButton;
    Panel1: TPanel;
    StaticText2: TStaticText;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
 
 
  private
  FMatr:TMatr;
     A : real;
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
 var
     i,j,n,m: byte;
     f: TextFile;
  begin
  if (not OpenDialog1.Execute) then
      exit;
  Assignfile(f,OpenDialog1.FileName);
  reset(f);
try
   memo1.Text:='';
  m:=0;
  while( not Eoln(f)) do
    begin
      read(f,i);
      inc(m);
    end;
  if(m=0) then
      exit;
  n:=1;
  readln(f);
  while(not Eof(f)) do
    begin
      readln(f);
      inc(n);
    end;
  CloseFile(f);
  reset(f);
  SetLength(FMatr,n,m);
  for i:=0 to high(Fmatr) do
      begin
      memo1.Lines.Add('');
      for j:=0 to High(Fmatr[i]) do
        begin
        read(f,Fmatr[i,j]);
        memo1.lines.Strings[i]:=memo1.lines.Strings[i]+Format('%6.1f', [FMatr[i,j]]);
        end;
      end;
finally
  CloseFile(f);
end;
  end;
 
 
 
procedure TForm1.Button2Click(Sender: TObject);
var
    z:array of real;
    i,j: byte;
    max,min:real;
begin
  memo2.Clear;
  j:=0;
  SetLength( z, high(FMatr));
  while j<high(FMatr[0]) do
    begin
      max:=FMatr[2,j];
      min:=FMatr[1,j];
      for i:=0 to high(FMatr) do
        begin
          if FMatr[i,j]<min then min:=FMatr[i,j];
          if FMatr[i,j]>max then max:=FMatr[i,j];
   end;
   z[j]:=max*min;
 
      inc(j);
    end;
 
  for i:=0 to high(FMAtr) do
   begin
    memo2.Lines.Add('');
    memo2.lines.Strings[i]:=memo2.lines.Strings[i]+Format('%6.1f', [z[i]]);
   end;
 
 
 { 
for j:=0 to high(FMatr[0]) do
    begin
      if Z[j]>A then
         for i:=0 to high(FMatr) do
            FMatr[j,i]:=FMatr[j,i]/A;
    end;
  for i:=0 to high(FMatr) do
        begin
        memo2.Lines.Add('');
        for j:=0 to high(FMatr[i]) do
          begin
          memo2.lines.Strings[i]:=memo2.lines.Strings[i]+Format('%6.1f', [FMatr[i,j]]);
          end;
        end;
    }
end;
 
 
 
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
showmessage('В матрице найти столбец, в котором произведение минимального элемента на максимальный больше заданной величины А. Разделить элементы строки с таким же номером, как найденный столбец, на величину А.');
end;
 
 
procedure TForm1.Button5Click(Sender: TObject);
begin
  A:=StrToFloat(InputBox('Ввод А','введите А','2'));
  Button2.Enabled:=true;
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2009, 21:56
Ответы с готовыми решениями:

Найти столбец матрицы, в котором значение элемента главной диагонали больше элемента побочной диагонали
Дан квадратный двухмерный массив целых чисел. Найти столбец, в котором значение элемента главной...

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

Найти столбец матрицы, в котором произведение максимального элемента на минимальный больше вводимой величины
задание: в матрице найти столбец в котором произведение максимального элемента на минимальный...

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

1
Автор FAQ
Автор FAQ
1802 / 614 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
24.12.2009, 22:19 2
Могу разве что посоветовать прогнать отладчиком, посмотри когда какие из нужных переменных чему равны. Если опыта работы с отладчиком нет, то его обязательно нужно приобрести, меня отладчик не раз выручал! Я выложил одну главу из книги, тут все оч подробно написано, пробуйте в жизни очень пригодиться.
С уважением Rockedit!
Вложения
Тип файла: pdf Delphi Book - Глава 24.pdf (251.8 Кб, 24 просмотров)
1
24.12.2009, 22:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2009, 22:19
Помогаю со студенческими работами здесь

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

Найти в матрице последний столбец, в котором положительных элементов больше чем отрицательных
прошу помощи=) нужно найти в матрице mxn последний столбец в котором положительных элементов...

Поменяйте в матрице местами 3-й столбец и столбец, в котором находится первый максимальный элемент
Дан двумерный массив. Поменяйте местами 3-й столбец и столбец, в котором находится первый...

Есть ли в матрице столбец, в котором на первом месте стоит максимальный элемент строки? (найти ошибку)
import random n=int(input('Введите кол-во строк матрицы: ')) m=int(input('Введите кол-во столбцов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru