Основы программирования на С++ для начинающих

Задачи: циклы while, do while, вложенные циклы

Мы познакомились с циклами while и do while в C++ и с вложенными конструкциями в циклах. Займёмся решением задач.

1. Организовать беспрерывный ввод чисел с клавиатуры, пока пользователь не введёт 0. После ввода нуля, показать на экран количество чисел, которые были введены, их общую сумму и среднее арифметическое. Подсказка: необходимо объявить переменную-счетчик, которая будет считать количество введенных чисел, и переменную, которая будет накапливать общую сумму чисел.

2. Необходимо суммировать все нечётные целые числа в диапазоне, который введёт пользователь с клавиатуры.

3. Задача посложней. Нарисовать равнобедренный треугольник из символов ^. Высоту выбирает пользователь. Например: высота = 5, на экране

задачи вложенные циклы

150 thoughts on “Задачи: циклы while, do while, вложенные циклы

  1. #include

    using namespace std;

    void main()
    {
    setlocale(LC_ALL, “Rus”);

    int a, kol;
    int i = 0;
    double sum = 0;

    cout << "Введите числа для расчета (выйти – 0)" << endl;

    do
    {
    i++;
    cout << "Число " << i <> a;
    kol = i;
    sum += a;
    } while (a != 0);

    cout << "\n~~~~~~~~~~~~~~~~~~~~~~" << endl;
    cout << "Кол-во введенных чисел: " << kol – 1 << endl;
    cout << "Общая сумма: " << sum << endl;
    cout << "Среднее арифметическое: " << (double)(sum / (kol – 1)) << endl;

    }

    1. Оно там решено усложненно во втором цикле.

      int main()
      {
      int height = 5;

      // подсчет строк 0 или 1 изменит расчет в for2
      for( int i{0}; i < height ; i++ )
      {
      // вывод пустот, равно высота-текущаяя строка
      for ( int j{1}; j< height-i; j++ )
      {
      cout << "*";
      }
      // вывод символов
      // на каждую строку выводится *2+1 символ если строки с 0
      // и i*h+1 если строки с 1
      for ( int h{} ; h<i*2+1 ; h++)
      {
      cout << "$";
      }
      cout << endl;
      }
      return 0;
      }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *