Поменять местами последнюю строчку и столбик - 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. Затем она меняет местами последнюю строку и последний столбец матрицы. Список действий:

  1. Включаем необходимые заголовочные файлы:
    • stdio.h содержит функции для ввода и вывода данных
    • Windows.h используется для работы с консолью
    • time.h нужен для генерации случайных чисел
  2. Определяем константы:
    • ROWS - количество строк в матрице (5)
    • COLUMNS - количество столбцов в матрице (5)
    • BORDER_HIGH - максимальное значение для чисел в матрице (10)
    • BORDER_LOW - минимальное значение для чисел в матрице (-10)
  3. Создаем функцию createMatrix, которая заполняет матрицу случайными числами.
  4. В функции main создаем матрицу и заполняем ее с помощью функции createMatrix.
  5. Создаем временный вектор temp_vector, который будет использоваться для обмена значениями.
  6. Используем цикл для обмена значениями между матрицей и временным вектором.
  7. Выводим матрицу на экран с помощью функции printf.
  8. Ждем нажатия клавиши с помощью функции system(pause).
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась.
  10. В функции createMatrix используем два вложенных цикла для заполнения матрицы случайными числами.
  11. Возвращаем 0, чтобы указать, что функция успешно завершилась.

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы