Програмна обробка двовимірних масивів
For (int N = 0; N < column — 1; N++). Var doba: array of array of integer; PrintMatrix (matrix, column, row); PrintMatrix (matrix, column, row); InitMatrix (matrix, column, row); For (int i = N; i < column; i++). For (int i = 0; i < column; i++). For (int i = 0; i < column; i++). Int counter, result, columnMin; For (int j = 0; j < row; j++). For (int j = 0; j < row; j++). For (int j = 0; j < row… Читать ещё >
Програмна обробка двовимірних масивів (реферат, курсовая, диплом, контрольная)
Двовимірний масив — це масив, де кожному елементу ставиться у відповідність два індекси. Для початку роботи з масивом готуємо місце в пам’яті у вигляді прямокутника, що має задану кількість рядків і стовпчиків. Для цього описуємо його в розділі оголошень, використовуючи зарезервоване слово Аrray, після якого в квадратних дужках вказуємо розмірність масиву, причому враховуємо, що на першому місці вказуються індекси рядків, а на другому — стовпчиків, і обов’язково тип елементів.
Опис двовимірного масиву.
: array[.,
. .]
of ;
Приклад опису:
Var A:array[1.8,1.3] of real;
D:array[1.10,1.100] of integer;
Зверніть увагу на те, що значень у рядках або стовпчиках масиву не обов’язково буде стільки, скільки ми оголосили, але не більше.
Звертання до елементу двовимірного масиву:
Ім'я_масиву[, ]
Елементи двовимірного масиву (дані можуть бути подані у вигляді таблиці) визначаються іменем масиву та двома індексами: перший індекс означає номер рядка, а другий — номер стовпця, на перетині яких стоїть елемент, наприклад р[1,2], Розглянемо приклади оголошення масиву-константи bal, що має 2 рядки і 4 стовпці елементів, деякого масиву doba, який міститиме 24* 60 елементів цілого типу, двовимірного масиву р розміру 9 на 9 (тут буде 9* 9=81 елемент).
const bal: array [1.2,1.4] of integer=((4,3,5,3),(4,4,5,3));
var doba: array [0.23] of array [0.59] of integer;
p: array [l.9, l.9] of integer;
Тут bal[l, l]=4, bal[l, 2]=3, … bal[2,3]=5, bal[2,4]=3. Значення елементам масивів doba і р можна надати командою присвоєння двома способами, наприклад, так: doba[16,30]: =5.
Задача 3.7.1.
#include.
#include.
#include.
#include.
using namespace std;
void initMatrix (int[][7], const int, const int);
void replaceColumn (int[][7], const int, int, int);
void printMatrix (int[][7], const int, const int);
int main ().
{.
const int column = 5, row = 7;
int matrix[column][row];
int counter, result, columnMin;
srand (time (NULL));
initMatrix (matrix, column, row);
cout << «NoSorted array» << endl << endl;
printMatrix (matrix, column, row);
for (int N = 0; N < column — 1; N++).
{ result = row * 30;
for (int i = N; i < column; i++).
{ counter = 0;
for (int j = 0; j < row; j++).
counter += matrix[i][j];
if (result > counter).
{ result = counter;
columnMin = i;
}.
}.
replaceColumn (matrix, row, N, columnMin);
}.
cout << «Sorted array» << endl << endl;
printMatrix (matrix, column, row);
return 0;
}.
void initMatrix (int matrix[][7], const int column, const int row).
{ for (int i = 0; i < column; i++).
- 69. for (int j = 0; j < row; j++)
- 70. matrix[i][j] = rand () % 30;
}.
void replaceColumn (int matrix[][7], const int row, int N, int columnMin).
{.
int buffer[row];
for (int j = 0; j < row; j++).
{ buffer[j] = matrix[columnMin][j];
matrix[columnMin][j] = matrix[N][j];
matrix[N][j] = buffer[j];
}.
}.
void printMatrix (int matrix[][7], const int column, const int row).
{ for (int i = 0; i < column; i++).
{.
for (int j = 0; j < row; j++).
cout << setw (3) << matrix[i][j];
cout << endl;
}.
}.