Поменять местами последнюю строчку и столбик - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано матрицу 5*5 Поменять местами последнюю строчку и столбик

Решение задачи: «Поменять местами последнюю строчку и столбик»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <Windows.h>
  3. #include <time.h>
  4.  
  5. #define ROWS     5
  6. #define COLUMNS  5
  7. #define BORDER_HIGH  10
  8. #define BORDER_LOW  -10
  9.  
  10. void createMatrix(int *Matrix, int rows, int columns);
  11.  
  12. int main(void)
  13. {  
  14.     srand(time(NULL));
  15.     int i, j, k, z;
  16.     int *Matrix = malloc(ROWS*COLUMNS * sizeof(int));
  17.    
  18.     createMatrix(Matrix, ROWS, COLUMNS);
  19.     int *temp_vector = malloc(ROWS * sizeof(int));
  20.  
  21.     printf("\n\n");
  22.  
  23.     for (i = ROWS-1, j = 0; j < COLUMNS; j++) {
  24.         temp_vector[j] = Matrix[i*COLUMNS + j];
  25.     }
  26.    
  27.     for (i = ROWS - 1, j = 0; j < COLUMNS; j++){
  28.         Matrix[i*COLUMNS + j] = Matrix[j*COLUMNS + 4];
  29.     }
  30.     for (i = ROWS - 1, j = 0; j < COLUMNS; j++) {
  31.         Matrix[j*COLUMNS + 4] = temp_vector[j];
  32.     }
  33.  
  34.     printf("\n\n");
  35.     for (i = 0; i < ROWS; i++) {
  36.         for (j = 0; j < COLUMNS; j++) {
  37.             printf("%3d ", Matrix[i*COLUMNS + j]);
  38.         }
  39.         printf("\n");
  40.     }
  41.     printf("\n");
  42.     system("pause");
  43.     return 0;
  44. }
  45.  
  46.  
  47. void createMatrix(int *Matrix, int rows, int columns) {
  48.     int i, j;
  49.     for (i = 0; i < rows; i++) {
  50.         for (j = 0; j < columns; j++) {
  51.             Matrix[i*columns + j] = rand() % (BORDER_HIGH + 1 - BORDER_LOW) + BORDER_LOW;
  52.             printf("%3d ", Matrix[i*columns + j]);
  53.         }
  54.         printf("\n");
  55.     }
  56. }

Объяснение кода листинга программы

Код представляет собой программу на языке 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы