int arr[5];
---
const size_t size = 5;
int arr[size];
---
int arr[5] = { 0 };
---
int arr[5] = { 1,2 };
---
int arr[] = { 1,2,3,4,5 };
---
#define N 5
...
int arr[N];
===
int matrix[3][4];
---
const size_t rows = 3, cols = 4;
int matrix[rows][cols];
---
int arr[][4] = { { },{ },{ } };
---
int matrix[][4] = { { 0 },{ 0 },{ 0 } };
---
int matrix[3][4] = { { 1,2 },{ 2,3,4 },{ 3,4,5,6 } };
---
int matrix[3][4] = { { 1,2,3,4 },{ 2,3,4,5 },{ 3,4,5,6 } };
---
#define R 3
#define C 4
...
int matrix[R][C];
===
int * arr = NULL;
size_t size, n;
scanf("%u", &size);
arr = (int *)malloc(size * sizeof(int));
...
free(arr);
---
int * arr = NULL;
size_t size, n;
scanf("%u", &size);
arr = (int *)calloc(size, sizeof(int));
...
free(arr);
---
int * arr = NULL;
size_t size;
cin >> size;
arr = new int [size];
...
delete[] arr;
===
int ** matrix = NULL;
size_t cols, rows, r, c;
scanf("%u%u", &cols, &rows);
matrix = (int **)malloc(rows * sizeof(int *));
for (r = 0; r < rows; r++) matrix [r] = (int *)malloc(cols * sizeof(int));
...
for (r = 0; r < rows; r++) free(matrix[r]);
free(matrix);
---
int ** matrix = NULL;
size_t cols, rows, r, c;
scanf("%u%u", &cols, &rows);
matrix = (int **)calloc(rows, sizeof(int *));
for (r = 0; r < rows; r++) matrix [r] = (int *)calloc(cols, sizeof(int));
...
for (r = 0; r < rows; r++) free(matrix[r]);
free(matrix);
---
int ** matrix = NULL;
size_t cols, rows;
matrix = new int * [rows];
for (size_t r = 0; r < rows; r++) {
matrix[r] = new int [cols];
}
...
for (r = 0; r < rows; r++) delete[] matrix[r];
delete[] matrix;
/////////
Обратиться можно по индексам либо по указателям.
Индексы начинаются с нуля.
cout << arr[2];
cout << matrix[0][3];
size_t index = 3;
cout << arr[index ];
size_t n = 2, m = 3;
cout << matrix[n][m];
Обращение в циклах.
Ввод одномерного:
for (size_t n = 0; n < size; n++) cin >> arr[n]
Вывод двумерного:
for (size_t n = 0; n < rows; n++, cout << endl) for (size_t m = 0; m < cols; m++) cout << matrix[n][m] << ' ';
Обращение через указатель:
int arr[] = {0, 1, 2, 3};
cout << arr[2] << endl;
int * p = arr;
cout << *(p + 2) << endl;
То же но ко всем элементам в цикле:
int arr[] = {0, 1, 2, 3};
int * p = arr;
int size = sizeof(arr) / sizeof(int);
for (p; p <= arr + size - 1; p++) cout << *p << ' ';
Другие языки программирования и технологии
Как объявить одномерный и двумерный массивы в с++ и обратиться к элементам?
Например:
int a[5],b[6][7]; a[2]=b[3][4];
int a[5],b[6][7]; a[2]=b[3][4];
Вот если один пью то ложусь спать и давлю на массу, а вот если с девушкой выпиваем то идем в аптеку и покупаем там элементы и потом получаетьса двухмерный массив
int a[]={1,2,3,4};
int b[2][3]={1,2,3,4,5,6};
обратиться: через указатель *(a+1) это обращение к второму элементу так как нумерация идет с нуля
int b[2][3]={1,2,3,4,5,6};
обратиться: через указатель *(a+1) это обращение к второму элементу так как нумерация идет с нуля
Похожие вопросы
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!!
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!! На паскале
- Помогите !!!С++Работа с одномерными и двумерными массивами. В каждой строке матрицы F(k, k) элемент. лежащий на главной
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- в двумерном массиве возвестив квадрат строки, расположенные между строками с мин и макс элементами
- обработка двумерных массивов (заменить по условию элементы на 0)
- помогите срочно надо Квадратные массивы тема: Двумерные массивы на языке C++
- Необходимо упорядочить строки двумерного массива, по возрастанию первого эл-та. СИ.
- Дан двумерный массив А [7,8], заполненный случайным образом. Заменить нечетные элементы массива на число 0 СРОЧНОО ГАЙСЫ
- .помогите пожалуйста двумерный массив на языке c++