Member 13478360 Ответов: 1

Привет, я не прошу код, просто базовое понимание того, как я должен попытаться ответить на следующий вопрос.


Напишите программу, которая использует операторы for для печати следующих шаблонов отдельно, один под другим. Использовать цикл for для генерации узоров. Все звездочки (*) должны быть напечатаны одним оператором формы cout << '*';.
[Подсказка: последние два паттерна требуют, чтобы каждая строка начиналась с соответствующего количества пробелов.]

Что я уже пробовал:

Я ничего не пробовал с тех пор, как не знаю, что делать.

Rick York

Довольно трудно понять, с чего начать, когда мы не видим узоров, которые вы должны напечатать.

Richard Deeming

Ваше домашнее задание будет основано на темах, которые вы недавно рассмотрели в своем классе.

Если вы не знаете, с чего начать, и вы не можете решить это из ваших заметок курса, тогда поговорите со своим учителем.

Мы иногда помогаем, если вы уже начали и просто нуждаетесь в толчке в правильном направлении. Но мы не собираемся делать за тебя домашнее задание.

nv3

Начните с рассмотрения паттернов. Что ты видишь? В первой строке есть одна группа из 10 звезд, затем пространство и другая группа из 10 звезд, затем пространство и одна звезда. Теперь взгляните на следующую строку. Первые две группы уменьшились на одну звезду каждая, третья группа выросла на одну звезду. И в следующей строке это правило продолжается.

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

Понял?

1 Ответов

Рейтинг:
2

KarstenK

Решение nv3 правильное, вам нужен внешний контур, который управляет внутренними петлями. Немного кода

int first = 10;
for( int line = 0; line < 10; line++ ) {
  //inner loops
  for( int i = 0; i < first; i++ ) {
    cout << '*';
  }
  // loop control at end
  first--;
}