Поменять местами строки двумерного массива - C (СИ)

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

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

Дан массив A[10,10]. Поменять местами k и l строки

Решение задачи: «Поменять местами строки двумерного массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define n 10
 
int main() {
    int a[n][n];
    int i, j, k, l, t;
    srand(time(NULL));
    printf("Array:\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            a[i][j] = rand()%100;
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
    do {
        printf("Enter k and l: ");
        scanf("%d %d", &k, &l);        
        if ((k == l) || (k < 1) || (k > 10) || (l < 1) || (l > 10)) printf("Repeat input!\n");
    } while ((k == l) || (k < 1) || (k > 10) || (l < 1) || (l > 10));
    for (j = 0; j < n; j++) {
        t = a[k-1][j];
        a[k-1][j] = a[l-1][j];
        a[l-1][j] = t;
    }
    printf("New Array:\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) printf("%4d", a[i][j]);
        printf("\n");
    }
    getch();
    return 0;
}

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

  1. Объявлен двумерный массив a размером n на n.
  2. Инициализированы случайные значения для всех элементов массива a.
  3. Выводится исходный массив a.
  4. Пользователю предлагается ввести k и l для обмена строками массива a.
  5. Если введенные значения не удовлетворяют условиям, то пользователю предлагается повторно ввести k и l.
  6. Введенные значения сохраняются в переменных k и l.
  7. Реализуется обмен значениями между строками массива a по индексам k и l.
  8. Выводится измененный массив a.
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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