Создание фигур с использованием вложенного цикла

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

$****
*$***
**$**
***$*
****$

Однако с моими кодами,

int counter = 6;
for (row = 0; row <= counter; row ++)
{
cout << "$";
for (column = 1; column <= row ; column++)
{
cout << "*";
}
cout << endl;
}

результат:

$*
$**
$***
$****
$*****
$******

Как создать $ в каждом цикле и перемещать позиции в каждом цикле?

0

Решение

Вы изменяете только количество «*», которое вы печатаете. Чтобы добиться того, что вы хотите, вы можете попробовать что-то вроде этого.

int count = 0;
while(count < 5){
for(int i = 0; i < 5; ++i){
if(i == count){
cout << "$";
} else{
cout << "*";
}
}
cout << endl;
count++;
}
1

Другие решения

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

void createDollarStars(int counter)
{
int row,column;

for (row = 0; row < counter; row ++)
{
for (column = 0; column < counter ; column++)
{
if(row == column)
{
cout<<"$";
}
else
{
cout << "*";
}
}
cout << endl;
}
}
0

Вам нужно вывести ‘$’, когда число внутренних и внешних циклов одинаково, а в других случаях вывести ‘*’. Этот код должен работать на вас

int counter = 6;
for (row = 1; row <= counter; row ++)
{
for (column = 1; column <= counter; column++)
{
if((column  == row){
cout << "$";
} else{
cout << "*";
}
}
cout << endl;
}
0

Я думаю, это то, что вы хотите

  for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j)
cout<<"$";
else cout<<"*";
}
cout<<"\n";
}
-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector