0 / 0 / 0
Регистрация: 10.02.2020
Сообщений: 6
1

Найти максимальный элемент на главной диагонали матрицы и в его столбце положительные элементы заменить на 0

19.02.2020, 10:37. Показов 1224. Ответов 4
Метки нет (Все метки)

Сформировать квадратную матрицу размером NxN случайным образом в диапазоне от -15 до 15. Найти максимальный элемент на главной диагонали и в его столбце положительные элементы заменить их на ноль.
Не работает кнопка нахождения максимального элемента и не меняет ничего.
Помогите пожалуйста


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c,i,j,n: integer;
max,min:integer;
begin
n:=strtoint(edit1.text);
max:=StrToInt(StringGrid1.Cells[1,1]);
a:=StrToInt(StringGrid1.Cells[1,1]);
for StringGrid1.Cells[i:=n-1,j:=n-1]do
begin
if max<StrToInt(StringGrid1.Cells[i:=i+1,j:=j+1])
then min:=max;
max:=StrToInt(StringGrid1.Cells[i,j])
else
min:=StrToInt(StringGrid1.Cells[i:=i+1,j:=j+1]);
end;
n
for StringGrid1.Cells[i:=n-1,j:=n-1]do
end;
end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2020, 10:37
Ответы с готовыми решениями:

В каждом столбце матрицы [nxn] найти положительный минимальный элемент и поместить его на соответствующее место главной диагонали
В каждом столбце матрицы найти положительный минимальный элемент и поместить его на...

Найти в каждой строке матрицы максимальный элемент и записать его на место соответствующего элемента главной диагонали
Дана квадратная матрица. Найти в каждой ее строке максимальный элемент и записать его на место...

Найти положительные элементы главной диагонали квадратной матрицы.
Найти положительные элементы главной диагонали квадратной матрица.

Найти максимальный элемент на главной диагонали матрицы
const m=4; n=4; procedure TForm1.Button7Click(Sender: TObject); var a:array of Extended; ...

4
4864 / 4008 / 1007
Регистрация: 29.08.2013
Сообщений: 25,592
Записей в блоге: 3
19.02.2020, 11:01 2
что такое N?
что такое
Цитата Сообщение от Nika20000 Посмотреть сообщение
Cells[i:=n-1,j:=n-1]
??

что это у вас?
Цитата Сообщение от Nika20000 Посмотреть сообщение
for StringGrid1.Cells[i:=n-1,j:=n-1]do
вы синтаксис цикла for когда-то видели вообще?

и где код по заданию?
0
0 / 0 / 0
Регистрация: 10.02.2020
Сообщений: 6
19.02.2020, 11:02  [ТС] 3
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
  a:array[1..10,1..10]of integer;
  b:array[1..10]of integer;
  i,j,min,n:integer;
begin
randomize;
n:=strtoint(edit1.text);
for i:=1 to n do
 Begin
  min:=15;
  for j:=1 to n do
   begin
    a[i,j]:=Random(31)-15;
    stringgrid1.Cells[i-1,j-1]:=IntToStr(a[i,j]);
 
 end;
 end;
 
  end;
procedure TForm1.Button2Click(Sender: TObject);
var a,b,c,i,j,n: integer;
max,min:integer;
begin
n:=strtoint(edit1.text);
max:=StrToInt(StringGrid1.Cells[1,1]);
a:=StrToInt(StringGrid1.Cells[1,1]);
for StringGrid1.Cells[i:=n-1,j:=n-1]do
begin
if max<StrToInt(StringGrid1.Cells[i:=i+1,j:=j+1])
then min:=max;
max:=StrToInt(StringGrid1.Cells[i,j])
else
min:=StrToInt(StringGrid1.Cells[i:=i+1,j:=j+1]);
end;
n
for StringGrid1.Cells[i:=n-1,j:=n-1]do
end;
end;
end.
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
19.02.2020, 11:30 4
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

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
var
  Form1: TForm1;
  a:array of array of integer;
  n:integer;
implementation
 
{$R *.dfm}
//создать матрицу и вывести ее в таблицу
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
if not TryStrToInt(Edit1.Text,n)or not(n in [2..20]) then
 begin
  ShowMessage('Введите размер матрицы целое число от 2 до 20');
  Edit1.Clear;
  Edit1.SetFocus;
  Exit;
 end;
randomize;
SetLength(a,n,n);
with StringGrid1 do
 begin
  fixedrows:=0;
  fixedcols:=0;
  rowcount:=n;
  colcount:=n;
  defaultcolwidth:=35;
  for i:=0 to n-1 do
  for j:=0 to n-1 do
   begin
    a[i,j]:=-15+random(31);
    StringGrid1.Cells[j,i]:=inttostr(a[i,j]);
   end;
 end;
end;
//Выполнить условие
procedure TForm1.Button2Click(Sender: TObject);
var i,j,imx:integer;
begin
imx:=0;
for i:=1 to n-1 do
if a[i,i]>a[imx,imx] then imx:=i;
Label2.Caption:='Максимальный элемент на главной диагонали='+inttostr(a[imx,imx])
                +' в столбце '+inttostr(imx+1);
with StringGrid2 do
 begin
  fixedrows:=0;
  fixedcols:=0;
  rowcount:=n;
  colcount:=n;
  defaultcolwidth:=35;
  for i:=0 to n-1 do
  for j:=0 to n-1 do
   begin
    if(j=imx)and(a[i,j]>0)then a[i,j]:=0;
    StringGrid2.Cells[j,i]:=inttostr(a[i,j]);
   end;
 end;
end;
Вложения
Тип файла: zip Матрица.zip (228.9 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 10.02.2020
Сообщений: 6
19.02.2020, 11:44  [ТС] 5
Спасибо Вам огромное
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2020, 11:44
Помогаю со студенческими работами здесь

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

Найти максимальный элемент на главной диагонали матрицы и заменить его на 1
Дан массив элементов 6х6. Найти максимальный элемент на главной диагонали и заменить его на 1

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

Заменить элементы главной диагонали матрицы на максимальный элемент побочной диагонали на минимальный элемент
в квадратной матрице находящейся в файле найти максимальный и минимальный элементы и заменить...


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

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

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