Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 8
1

Обработка двумерных массивов n*m заполненного случайным образом

21.04.2015, 22:12. Показов 1549. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан двумерный массив размером n*m заполненный случайными образом.

1. Заменить все элементы первых трех столбцов на их квадраты
2. Поменять местами средние строки с первой и последней (число строк четное)

Помогите с заданием пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2015, 22:12
Ответы с готовыми решениями:

Создать два двумерных массива (1-100) случайным образом, записать в файл
Задание1: Двумерные массивы 10*10. Создать два двумерных массива (1-100) случайным образом,...

Обработка двумерных массивов
найти сумму чётных положительных элементов каждой строки матрицы, результат записать в одномерный...

Обработка двумерных массивов
Задан массив A(m,n). Сформировать массив C из элементов четных столбцов и массив B из элементов...

обработка двумерных массивов
Дана целочисленная прямоугольная матрица определить: - кол-во столбцов не содержащих ни одного...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
22.04.2015, 08:09 2
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
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
  StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
  a:array of array of integer;
  m,n: integer;
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
//зададим некоторые параметры таблиц
with StringGrid1 do
 begin
  fixedCols:=0;
  fixedRows:=0;
  defaultColwidth:=30;
  scrollBars:=ssBoth;
 end;
with StringGrid2 do
 begin
  fixedCols:=0;
  fixedRows:=0;
  defaultColwidth:=30;
  scrollBars:=ssBoth;
 end;
with StringGrid3 do
 begin
  fixedCols:=0;
  fixedRows:=0;
  defaultColwidth:=30;
  scrollBars:=ssBoth;
 end;
Button1.Enabled:=true; //1 кнопку включим
Button2.Enabled:=false;//2 выключим
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
randomize;
//проверим ввод размеров
val(Edit1.Text,n,i);
if (i<>0)or (n<4)then
 begin
  ShowMessage('Неверно введено количество строк');
  Edit1.Clear;
  Edit1.SetFocus;
  exit
 end;
val(Edit2.Text,m,i);
if (i<>0)or (m<3)then
 begin
  ShowMessage('Неверно введено количество столбцов');
  Edit2.Clear;
  Edit2.SetFocus;
  exit
 end;
StringGrid1.RowCount:=n;
StringGrid1.ColCount:=m;
StringGrid2.RowCount:=n;
StringGrid2.ColCount:=m;
StringGrid3.RowCount:=n;
StringGrid3.ColCount:=m;
Setlength(a,n,m);
for i:=0 to n-1 do
for j:=0 to m-1 do
 begin
  a[i,j]:=1+random(10);
  StringGrid1.Cells[j,i]:=IntToStr(a[i,j]);
 end;
Button1.Enabled:=false; //1 кнопку выключим
Button2.Enabled:=true;//2 включим
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,j,x:integer;
begin
//первые 3 столбца в квадрат
for i:=0 to n-1 do
for j:=0 to 2 do
a[i,j]:=sqr(a[i,j]);
for i:=0 to n-1 do
for j:=0 to m-1 do
StringGrid2.Cells[j,i]:=IntToStr(a[i,j]);
//обменяем строки
for j:=0 to m-1 do
 begin
  x:=a[0,j];
  a[0,j]:=a[n div 2-1,j];
  a[n div 2-1,j]:=x;
  x:=a[n-1,j];
  a[n-1,j]:=a[n div 2,j];
  a[n div 2,j]:=x;
 end;
for i:=0 to n-1 do
for j:=0 to m-1 do
StringGrid3.Cells[j,i]:=IntToStr(a[i,j]);
end;
 
end.
Вложения
Тип файла: rar матрица.rar (4.2 Кб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 8
22.04.2015, 08:27  [ТС] 3
Спасибо))
0
22.04.2015, 08:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2015, 08:27
Помогаю со студенческими работами здесь

Обработка двумерных массивов
Помогите, пожалуйста, решить две задачи: 1) Вводится число N с клавиатуры. Нужно рандомно...

Обработка двумерных массивов
Количество элементов массива: 3,4 Тип: Целый Цель: Найти сумму минимального и максимального...

Обработка двумерных массивов
Всем доброй ночи. Решаю задачу по информатике, на обработку двумерных массивов. Программу...

Обработка двумерных массивов
В заданном двумерном массиве размером N*M поменять местами элементы первого и второго столбца,...


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

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