Как записать эту таблицу в цикл? - PullRequest
0 голосов
/ 06 октября 2018

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

2
4 2
6 4 2
8 6 4 2

Вот мой код:

for(int i = 0; i <= 7; i += 2) {
    for (int j = 0; j <= i; j += 2) 
        cout << j + 2 << " ";
    cout << endl; 
}

и я получаю неправильный ответ.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Добро пожаловать в переполнение стека.Вы просто пошли по кругу со своим внутренним циклом for

#include <iostream>
using namespace std;

int main() 
{
     for(int i = 0; i <= 7; i += 2){
       for (int j = i; j >= 0; j -= 2) {
        cout << j + 2 << " ";
        }
      cout << endl; 
    }
    return 0;
}

, это дает вам желаемый результат:

2 
4 2 
6 4 2 
8 6 4 2 
0 голосов
/ 06 октября 2018

Ваш подход с двойным циклом был хорошей идеей.Вот моя обобщенная попытка, которая позволяет печатать то, что вы хотите, в n строках, а не просто в 4:

#include <iostream>
using namespace std;

int main() {
    int n = 4;

    for(int i = 0; i < n; ++i) {
        for(int j = i; j >= 0; --j) {
            cout << 2 * (j + 1) << " ";
        }
        cout << "\n";
    }
    return 0;
}

Вывод:

2 
4 2 
6 4 2 
8 6 4 2

Демонстрация в реальном времени

PS: этот подход минимизирует (если не уничтожает) использование магических чисел.

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