Как вывести двумерный массив корректно?

122
21 апреля 2022, 16:00

Пусть дано:Заполнить массив

Answer 1

Можно пойти еще проще, и не ставить условный оператор if в цикл, а запустить 2 цикла.

    for (int i = 0; i < n; i+=2) {
        for (int j = 0; j < n; j++) {
            A[j][i] = j + i*n;
        }
    }
    for (int i = 1; i < n; i+=2) {
        for (int j = 0; j < n; j++) {
            A[j][i] = (i + 1) * n - j - 1;
        }
    }

А можно без умножений

    int num = 0;
    int d = 1;
    int j = 0;
    for (int i = 0; i < n; ++i) {
        for (;j >= 0 && j < n; j+=d) {
            A[j][i] = num++;
        }
        d = -d;
        j += d;
    }

Есть третий вариант

    int i = 0;
    for (int j = 0; j < n; ++j) {
        A[j][i] = j;
    }
    ++i;
    int num = n;
    for (int j = n-1; j >= 0; --j) {
        A[j][i] = num++;
    }
    for (i = 2; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            A[j][i] = A[j][i-2] + num;
        }
    }
READ ALSO
Конструкторы и операторы копирования и перемещения наследуемого класса

Конструкторы и операторы копирования и перемещения наследуемого класса

Мой вопрос заключается в том, правильно ли реализована логика копирования и перемещения конструкторов и операторов наследуемого класса

136
Как наиболее точно измерить потребляемую программой память?

Как наиболее точно измерить потребляемую программой память?

Как наиболее точно измерить потребляемую программой память?

131
не работает max_element

не работает max_element

почему max_element работает неправильно ?

119
Чтение данных, записанных через пробелы из файла в C++

Чтение данных, записанных через пробелы из файла в C++

Есть простейшая задача - дан массив оценок, из которого нужно удалить двойки, удвоить пятёрки и сортировать оценки по возрастаниюЗадача решена...

143