Поменять местами последнюю строчку и столбик - 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, чтобы указать, что функция успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д