Повторение: задание №2
Часть раздела Основы путешествия по C на Coddy. Урок 60 из 63.
Задание
ЛегкоДавайте проверим ваши навыки работы с массивами в C!
Создайте программу, выполняющую операции над двумерным массивом (матрицей):
- Создайте функцию
rotateMatrix, которая:- Принимает исходную матрицу, вторую матрицу для заполнения повёрнутым результатом и размер
- Поворачивает матрицу на 90 градусов по часовой стрелке
Используйте это для поворота матрицы:rotated[j][size-1-i] = original[i][j]; - Записывает результат во вторую матрицу (функция возвращает
void; заданная функцияmainвыведет результат за вас)
- Создайте функцию
findElement, которая:- Принимает двумерный целочисленный массив, его размер и значение target
- Возвращает 1, если target найден в матрице, и 0 в противном случае
Попробуйте сами
#include <stdio.h>
void rotateMatrix(int original[][10], int rotated[][10], int size);
int findElement(int matrix[][10], int size, int target);
void rotateMatrix(int original[][10], int rotated[][10], int size) {
// Ваш код здесь
}
int findElement(int matrix[][10], int size, int target) {
// Ваш код здесь
}
// Не изменяйте код ниже
int main() {
int size;
scanf("%d", &size);
int matrix[10][10];
int rotated[10][10];
int value = 1;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
matrix[i][j] = value++;
}
}
printf("Original Matrix:\n");
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("\n");
rotateMatrix(matrix, rotated, size);
printf("Rotated Matrix:\n");
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
printf("%d ", rotated[i][j]);
}
printf("\n");
}
printf("\n");
int result = findElement(matrix, size, 10);
if (result) {
printf("Found\n");
} else {
printf("Not found\n");
}
return 0;
}
Все уроки раздела Основы
2Переменные
Типы данныхЦелые числаFloat и DoubleСимволыЛогический типКонстантыОсновы printfПравила именования переменныхПриведение типов. Часть 1Приведение типов. Часть 2Итоговое задание3Операторы
Арифметические операторыОператор остатка от деленияИнкремент и декрементОператоры присваиванияОператоры сравненияЛогические операторы. Часть 1Логические операторы. Часть 2Логические операторы. Часть 3Задание на повторениеПотренируйтесь самостоятельно: Онлайн-компилятор C