Как я делаю, чтобы показывать 6 чисел из-за линии в C ++?

Я должен решать следующее упражнение:

Делать алгоритм, который печатает четные числа между 100 и 20 из-за 6 из-за линии, отделенный 3 мишенями

Как я делаю, чтобы показывать в 6 чисел из-за линии?. То, что я сделал до сих пор, так это следующее:

#include <iostream>

using namespace std;

int main()
{
    int num;

    for (int i=20;i<=100;i++)
    { 

        num=i%2;

        if (num==0) { 
            printf("%d   ", i); 
        }
    }

    system("PAUSE");
    return 0;
}

Мне не хватает части можения показывать в 6 чисел из-за линии.

0
задан 24.01.2017, 09:34
0 ответов

Ты мог бы делать нечто похожее:

for (int i = 20, salto = 1; i < 100; i += 2, ++salto)
{
    std::cout << i << ' ';
    if (!(salto % 6))
        std::cout << '\n';
}

У цикла for есть три компонента в Вашем заголовке:

  1. Заявление переменных.
  2. Условие вывода.
  3. Инструкция продвижения.

То, что мало людей знают, состоит в том, что в заявлении переменных ты можешь объявлять столько переменных, как ты хотел каждый раз, когда они были того же типа, из-за этого мы создали переменную, чтобы индексировать (i) и переменная, чтобы рассказывать, когда мы должны прыгать от линии (salto).

Также он не является очень известным тот факт, что в инструкцию продвижения ты можешь помещать несколько инструкций, отделенных запятой, поэтому в этой части цикла мы продвигаем двух в двух переменную индекса и один за другим переменная разрыва линии.

Вышеупомянутый прием не функция цикла for, если не использование действующей комы (,). Действующая кома выполняет все инструкции, которые проходят с ним, оценивает их и отказывается от них (более подробное объяснение потребовало бы нового вопроса).

Добавочная информация.

Какие-то детали, которые могут помогать тебе.

  • Если они просят у тебя ясно четные числа, ты не должен продвигать номера одни в один и подтверждать, пары ли это: продвинься двух в двух и ты будешь знать, не делая проверок, которые являются парами.
  • Функция printf принадлежи книжным магазинам C. Используй std::cout чтобы показывать вещи из-за экрана.
  • Хотя не запрещено, это не желательно using namespace std;, консультируй этот трэд для большего количества деталей.
2
ответ дан 03.12.2019, 17:31

Ты мог бы вводить счетчик, который каждые 6 чисел, показывал бы разрыв линии.

#include <iostream>

using namespace std;

int main()
{
    int n=0;
    for (int i=20;i<=100;i++) { 
        if (i%2==0)  { 
            printf("%d   ", i);
            n=n+1;
        }
        if(n==5){
            n=0;
            printf("\n"); 
        }
    }

    system("PAUSE");
    return 0;
}
0
ответ дан 03.12.2019, 17:31

Будь решением:

1) Давайте верить в переменную contadorSalto; Эта будет считать каждый раз, когда находилось четное число и увеличит 1.

2) Когда у переменной contadorSalto будет стоимость 6, тогда мы печатаем printf (" \n"), для того, чтобы он сделал разрыв линии, позволяя печатать так другие в следующей линии.

3) Когда мы печатаем разрыв линии, мы распределяем стоимость 0 в наш счетчик.

#include <iostream>

using namespace std;

int main()
{
    int num;
    int contadorSalto = 0; // Contador

    for (int i=20;i<=100;i++)
    { 
        num=i%2;

        if (num==0)
        { 
          printf("%d   ", i); 
          contadorSalto++;
        } 

        // Hacemos el salto de linea cada 6 numeros
        if(contadorSalto == 6){
           printf("\n");
           contadorSalto = 0;
        }
    }

    system("PAUSE");
    return 0;
}

Я надеюсь, что он помогает тебе.

0
ответ дан 03.12.2019, 17:31