Вопросы:
12. Что такое двумерный массив?
13. Какой индекс элемента отвечает за номер строки, а какой – за номер столбца?
14. Каким образом в оперативной памяти размещаются элементы двумерного массива?
15. По какой формуле можно рассчитать участок памяти, который занимает двумерный массив?
16. Можно ли при объявлении двумерный массива не указывать его размер? При каком условии?
Задача № 1. (№ 359). Дана целочисленная прямоугольная матрица А размерностью NхM. В матрице поменять местами элементы:
1. Первого и последнего столбца.
2. Первой и последней строки.
3. k-го и l-го столбца.
4. k-ой и l-ой строки.
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <time.h>
using namespace std;
Void main()
{ const int N=4, M=5;
const int RANGE_MIN = 0; //миним.значение СВ
const int RANGE_MAX = 100; //максим.значение СВ
int A[N][M]={0};
int i,j;
//установка точки(начала) для генерации СВ
srand( (unsigned)time(0));
for(i=0;i<N;i++)
for(j=0;j<M;j++)
A[i][j] = rand() % (RANGE_MAX+1) + RANGE_MIN ;
for (i=0;i<N;i++)
{ for (int j=0;j<M;j++)
cout<<setw(6)<<A[i][j];
cout<<"\n";
}
//Перестановка 0-го и последнего столбцов матрицы
for(int i=0;i<N;i++)
{ int temp=A[i][0];
A[i][0]=A[i][M-1];
A[i][M-1] = temp;
}
//Перестановка 0-ой и последней строки матрицы
for(int j=0;j<M;j++)
{ int temp=A[0][j];
A[0][j]=A[N-1][j];
A[N-1][j] = temp;
}
int k,l;