C ++ «листать» строки в массиве - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь распечатать массив в указанном порядке c, где он отформатирован со столбцами и строками в порядке возрастания, но с нижней строкой, содержащей самые низкие значения. Массив создается с помощью for для l oop и указателя. вот мой код:

#include <iostream>
#include <iomanip>

int main()
{
    // Creation of the array
    int* array = new int[24];
    for (int i = 0; i < 24; i++)
    {
        array[i] = i;
    }

    // Displaying in grid format with 3 rows and 8 columns
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 8; j++)
        {
            std::cout << std::setw(2) << *array << ' ';
            array++;
        }
        std::cout << '\n';
    }
}

Вывод моего кода:

 0  1  2  3  4  5  6  7 
 8  9 10 11 12 13 14 15 
16 17 18 19 20 21 22 23

Желаемый вывод:

16 17 18 19 20 21 22 23
 8  9 10 11 12 13 14 15 
 0  1  2  3  4  5  6  7 

Как бы я go о "реверсе" строк для достижения желаемого результата?

РЕШЕНО СЛЕДУЮЩИМ

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int* table = new int[40];
    for (int i = 0; i < 40; ++i)
    {
        table[i] = i;
    }

    for (int i = 4; i >= 0; --i)
    {
        for (int j = 0; j < 8; ++j)
        {
            cout << setw(2) << table[j + (8 * i)] << ' ';
        }
        cout << "\n";
    }
}

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...