для цикла в то время как преобразование - PullRequest
0 голосов
/ 08 сентября 2018

Здесь у меня есть код C ++ с циклами for.

for(int A=1;A<=3;A++)
    {
     cout<<A*2;
     for(int B=1;B<=A;B++)
     cout<<"*";
     cout<<endl;
    }

и это дает мне этот вывод.

2 * 4 ** 6 ***

Мне нужно сделать то же самое, используя циклы while. поэтому я преобразую приведенный выше код в этот.

while(A<=3)
    {
    cout<<A*2;
        while(A>=B)
        {cout<<"*";
            B++;}

    cout<<endl;
    A++;
    }

но этот код дает мне вывод 2 * 4 * 6 *

Может кто-нибудь сказать мне, что я делаю не так там в моем цикле.

Ответы [ 5 ]

0 голосов
/ 08 сентября 2018
int A = 1;
while(A <= 3)
{
    cout<<A*2;
    int B = 1;
    while(A >= B){
        cout<<"*";
        B++;
    }
    cout<<"/n";
    A++;
}

вывод:
2 *
4 **
6 ***

0 голосов
/ 08 сентября 2018

Вы должны использовать B как локальную переменную, а также изменить while сравнение на меньшее и равное.

int A = 1;

while(A<=3) {
    cout<<A*2;
    int B = 1; // B as local variable
    while(B<=A) {
        cout<<"*";
        B++;
    }
    cout<<endl;
    A++;
}

Выход:

2 *
4 **
6 ***

0 голосов
/ 08 сентября 2018

Ваш второй фрагмент не показывает, где вы объявили A или B. Я предполагаю, что это вне внешнего цикла while, который не будет работать. Вы должны объявить B внутри первого while или повторно инициализировать его в каждом цикле.

int A = 1;
while(A <= 3)
{
  cout << A * 2;
  int B = 1;
  while(A >= B)
  {
    cout << "*";
    ++B;
  }
  ++A;
  cout << endl;
}

Результат .

0 голосов
/ 08 сентября 2018

Вы не задаете начальные значения A или B.

void func()
{
    int A = 1;
    while (A<=3)
    {
        std::cout << A*2;
        int B = 1;
        while(A>=B)
        {
            std::cout << "*";
            B++;
        }

        std::cout<<endl;
        A++;
    }
}
0 голосов
/ 08 сентября 2018
int A = 1;
int B;

while (A <= 3)
{
    cout << A * 2;
    B = 1;
    while (B <= A)
    {
        cout.put('*');
        ++B;
    }

    cout.put('\n');
    ++A;
}

IOCCC стиль:

#include <iostream>

int main()
{
    int A{1};while(!(A>>2)&&std::cout.put((A<<1)|0x30)){
        int B{A++};while(std::cout.put((!B)["*\n"]),B--);}
}
...