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

Работа с двумерными массивами

24.12.2011, 17:18. Показов 1972. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите переделать программу с паскаля на delphi
вот на всякий случай условие .В матирице поменять местами максимальный и минимальный элемент массива
вот код программы на паскале
Pascal
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
var 
  a: array[1..100,1..100] of integer;
  i,j,m,n,max,min,x: integer;
Begin
  randomize;
  readln(m,n);
  for i:=1 to m do
    begin
      for j:=1 to n do
        begin
          a[i,j]:=random(101)-50;
          write(a[i,j]:4);
        end;
      writeln;
    end;
  writeln;
  for i:=1 to m do
    begin
      max:=1;
      min:=1;
      for j:=1 to n do
        begin
          if a[i,j]>a[i,max] then max:=j;
          if a[i,j]<a[i,min] then min:=j;
        end;
      x:=a[i,max];
      a[i,max]:=a[i,min];
      a[i,min]:=x;
      for j:=1 to n do write(a[i,j]:4);
      writeln;
    end;
  readln
End.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2011, 17:18
Ответы с готовыми решениями:

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

Работа с двумерными массивами
Осталось 2 задания в лабораторной которые не могу осилить, прошу помощи. Работа с двумерными...

Работа с двумерными массивами
1. Дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном...

Работа с двумерными массивами- Delphi
В массиве Y размерности n*n даны элементы первого столбца и первой строки. Вычислить все элементы...

4
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.12.2011, 21:50 2
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Spin;
 
type
  TForm1 = class(TForm)
    SpinEdit1: TSpinEdit;
    Label1: TLabel;
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label2: TLabel;
    Label3: TLabel;
    StringGrid2: TStringGrid;
    Edit1: TEdit;
    Label4: TLabel;
    SpinEdit2: TSpinEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  m,n:integer;
  a:array of array of integer;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var i,j: integer;
begin
randomize;
m:=SpinEdit1.Value;
StringGrid1.RowCount:=m;
StringGrid2.RowCount:=m;
n:=SpinEdit2.Value;
StringGrid1.ColCount:=n;
StringGrid2.ColCount:=n;
Setlength(a,m,n);
for i:=0 to m-1 do
for j:=0 to n-1 do
 begin
  a[i,j]:=random(100);
  StringGrid1.Cells[j,i]:=IntToStr(a[i,j]);
 end;
 
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,j,imax,jmax,imin,jmin,buf: integer;
begin
imax:=0; jmax:=0;
imin:=0; jmin:=0;
for i:=0 to m-1 do
for j:=0 to n-1 do
 begin
  if a[i,j]>a[imax,jmax] then
   begin
    imax:=i;
    jmax:=j;
   end;
  if a[i,j]<a[imin,jmin] then
   begin
    imin:=i;
    jmin:=j;
   end;
 end;
Edit1.Text:='Минимальный элемент a['+IntTostr(imin)+','+IntTostr(jmin)+']='+
             IntToStr(a[imin,jmin])+
             '  Максимальный элемент a['+IntTostr(imax)+','+IntTostr(jmax)+']='+
             IntTostr(a[imax,jmax]);
buf:=a[imin,jmin];
a[imin,jmin]:=a[imax,jmax];
a[imax,jmax]:=buf;
for i:=0 to m-1 do
for j:=0 to n-1 do
StringGrid2.Cells[j,i]:=IntToStr(a[i,j]);
end;
 
end.
Вложения
Тип файла: rar Обмен минимального и максимального.rar (198.5 Кб, 24 просмотров)
1
0 / 0 / 0
Регистрация: 19.04.2011
Сообщений: 39
25.12.2011, 12:25  [ТС] 3
спасибо всё работает.только у меня вопрос эта программа попроще ни как не записывается.
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.12.2011, 12:27 4
Цитата Сообщение от wizard 007 Посмотреть сообщение
попроще ни как не записывается.
А что именно не нравится, вроде нет ничего лишнего и непонятного, на Паскале проще.
0
0 / 0 / 0
Регистрация: 19.04.2011
Сообщений: 39
25.12.2011, 12:43  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
А что именно не нравится, вроде нет ничего лишнего и непонятного, на Паскале проще.
понятно

Добавлено через 4 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
А что именно не нравится, вроде нет ничего лишнего и непонятного, на Паскале проще.
просто я сам пытался программу написать ,вот что получилось
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
 var a,b:array[1..10,1..10] of Integer;
i,j,k,l,max,min:Integer;
begin
k:=StrToInt(edt1.Text);
l:=StrToInt(edt2.Text);
for i:=1 to k do
for j:=1 to l do
begin
strngrd1.cells[i-1,j-1]:=inttostr(a[i,j]);
end;
for i:=1 to k do
for j:=1 to l do
if a[i]<b[max]  then
begin
a[i,j]:=Max;
imax:=i;
end;
if a[j]>b[min] then
begin
b[i,j]:=min;
imin:=j
end;
strngrd1.cells[i-1,j-1]:=inttostr(a[i,j]);
strngrd2.cells[i-1,j-1]:=inttostr(b[i,j]);
end;
end.
0
25.12.2011, 12:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2011, 12:43
Помогаю со студенческими работами здесь

Работа с двумерными массивами в Delphi
задать матрицу(StringGrid). Поменять два указанных столбца местами.

Работа с двумерными массивами в Delphi
Дан двумерный массив размером n*m, заполненный случайным образом. 1.Заменить максимальный...

Работа с двумерными массивами в Delphi
Помогите пожалуйста написать программу на Delphi.в которой дана матрица и перечислить номера всех...

Работа с двумерными динамическими массивами через функцию
Задание такое при нажатии button1 выводится двумерный массив размерностью m x n, при нажатии button...


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

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

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