Untitled

mail@pastecode.io avatar
unknown
c_cpp
3 years ago
1.9 kB
4
Indexable
include <stdio.h>
#include <stdlib.h>
#include <time.h>

// поменять местами две строки двумерного массива, номера строк вводит пользователь 1..n

// 4 5 8 0
// 3 1 7 8
// 4 1 7 0
// 4 1 7 9
// 6 2 0 1

// 1 3


// 4 1 7 0
// 3 1 7 8
// 4 5 8 0
// 4 1 7 9
// 6 2 0 1

int main()
{
    // Declaring an array and filling with random numbers
    srand(time(0));
    const int rows = 5, cols = 5;
    int arr[rows][cols];

    // Заполнение массива случайными числами
    // Filling of the array with random numbers
    int i, j;
    for( i = 0; i < rows; ++i ) {
        for( j = 0; j < cols; ++j ) {
            arr[ i ][ j ] = rand() % 101 - 50; // rand() % N - cлучайное число от 0 до N - 1
            printf("%5d", arr[ i ][ j ]);
        }
        puts("");
    }
    printf("\n");

    // Ввод номеров строк между которыми будет обмен числами
    // Entering the numbers of the two lines that are to be exchanged -- ?? Here will ask a question later.
    int a, b;
    printf("Enter two lines that need to sawap in array\n");
    scanf( "%lf%lf", &a, &b );

    // Алгоритм обмена числами между строк
    // ROW -- Строка, Cols -- столбец
    int tmp;
    int n = 5;
    for (i = 0; i < 2; i++){
        for (j = 0; j < n; j++){
            tmp = arr[a][j];
            arr[a][j] = arr[b][j];
            arr[b][j] = tmp;
        }
    }

    // Вывод массива после обмена значений между строками
    printf("Array after swap of data in lines: \n");
    for (i = 0; i < rows; i++){
            for (j = 0; j < cols; j++)
                printf("%5d ", arr[i][j]);
            puts("");
    }

    return 0;
}