Поменять местами последнюю строчку и столбик - C (СИ)
Формулировка задачи:
Дано матрицу 5*5
Поменять местами последнюю строчку и столбик
Решение задачи: «Поменять местами последнюю строчку и столбик»
textual
Листинг программы
#include <stdio.h> #include <Windows.h> #include <time.h> #define ROWS 5 #define COLUMNS 5 #define BORDER_HIGH 10 #define BORDER_LOW -10 void createMatrix(int *Matrix, int rows, int columns); int main(void) { srand(time(NULL)); int i, j, k, z; int *Matrix = malloc(ROWS*COLUMNS * sizeof(int)); createMatrix(Matrix, ROWS, COLUMNS); int *temp_vector = malloc(ROWS * sizeof(int)); printf("\n\n"); for (i = ROWS-1, j = 0; j < COLUMNS; j++) { temp_vector[j] = Matrix[i*COLUMNS + j]; } for (i = ROWS - 1, j = 0; j < COLUMNS; j++){ Matrix[i*COLUMNS + j] = Matrix[j*COLUMNS + 4]; } for (i = ROWS - 1, j = 0; j < COLUMNS; j++) { Matrix[j*COLUMNS + 4] = temp_vector[j]; } printf("\n\n"); for (i = 0; i < ROWS; i++) { for (j = 0; j < COLUMNS; j++) { printf("%3d ", Matrix[i*COLUMNS + j]); } printf("\n"); } printf("\n"); system("pause"); return 0; } void createMatrix(int *Matrix, int rows, int columns) { int i, j; for (i = 0; i < rows; i++) { for (j = 0; j < columns; j++) { Matrix[i*columns + j] = rand() % (BORDER_HIGH + 1 - BORDER_LOW) + BORDER_LOW; printf("%3d ", Matrix[i*columns + j]); } printf("\n"); } }
Объяснение кода листинга программы
Код представляет собой программу на языке C, которая создает матрицу 5x5 случайных целых чисел в диапазоне от -10 до 10. Затем она меняет местами последнюю строку и последний столбец матрицы. Список действий:
- Включаем необходимые заголовочные файлы:
- stdio.h содержит функции для ввода и вывода данных
- Windows.h используется для работы с консолью
- time.h нужен для генерации случайных чисел
- Определяем константы:
- ROWS - количество строк в матрице (5)
- COLUMNS - количество столбцов в матрице (5)
- BORDER_HIGH - максимальное значение для чисел в матрице (10)
- BORDER_LOW - минимальное значение для чисел в матрице (-10)
- Создаем функцию createMatrix, которая заполняет матрицу случайными числами.
- В функции main создаем матрицу и заполняем ее с помощью функции createMatrix.
- Создаем временный вектор temp_vector, который будет использоваться для обмена значениями.
- Используем цикл для обмена значениями между матрицей и временным вектором.
- Выводим матрицу на экран с помощью функции printf.
- Ждем нажатия клавиши с помощью функции system(
pause
). - Возвращаем 0, чтобы указать, что программа успешно завершилась.
- В функции createMatrix используем два вложенных цикла для заполнения матрицы случайными числами.
- Возвращаем 0, чтобы указать, что функция успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д