Untitled

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
2.0 kB
1
Indexable
Never
#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  (from 0 to 4) that need to sawap in array\n");
    scanf( "%d%d", &a, &b ); // <------- HERE WAS ERROR. Before were "%lf%lf"
    printf("\n");
    printf("%d\t%d\n", a, b);

    // Алгоритм обмена числами между строками
    // ROW -- Строка, Cols -- столбец
    int tmp;
    int n = 5;
    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;
}