Многомерные массивы
Часть раздела Основы путешествия по C на Coddy. Урок 56 из 63.
Многомерный массив — это массив массивов. В C можно создать двумерный массив (наиболее распространённый многомерный массив), по сути представляющий собой таблицу со строками и столбцами.
Объявите двумерный массив:
int matrix[3][4];Это создаёт двумерный массив с 3 строками и 4 столбцами.
Вы можете инициализировать двумерный массив при его объявлении:
int matrix[3][4] = {
{1, 2, 3, 4}, // Первая строка
{5, 6, 7, 8}, // Вторая строка
{9, 10, 11, 12} // Третья строка
};Чтобы получить доступ к элементам двумерного массива, используйте два индекса:
int value = matrix[1][2]; // Обращается к строке 1, столбцу 2 (значение будет 7)Чтобы изменить элемент в двумерном массиве:
matrix[0][3] = 100; // Изменяет элемент в строке 0, столбце 3 на 100Вы также можете использовать вложенные циклы, чтобы получить доступ ко всем элементам двумерного массива:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Новая строка после каждой строки
}Задание
ЛегкоСоздай функцию с именем printDiagonal, которая принимает двумерный square-массив (где количество строк равно количеству столбцов) и выводит elements на main диагонали (от верхнего левого угла к нижнему правому).
Функция должна:
- Принимать целочисленный массив и его size в качестве параметров.
- Выводить each element на main диагонали (где индекс row равен индексу column).
- Разделять each element пробелом.
Например, если дан массив:
1 2 3 4 5 6 7 8 9
Функция должна вывести: 1 5 9
Попробуйте сами
#include <stdio.h>
// Функция для вывода диагональных элементов квадратной матрицы
void printDiagonal(int matrix[][100], int size) {
// Напишите ваш код здесь
}
int main() {
int size;
scanf("%d", &size);
int matrix[100][100];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
scanf("%d", &matrix[i][j]);
}
}
printDiagonal(matrix, size);
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторениеПотренируйтесь самостоятельно: Онлайн-компилятор C