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

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

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

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

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

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

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

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

    1. А в таком виде задача практически и не усложняется … но требует изрядной изобретательности на уровне постановки, потому как СКО нужно просчитать в том же едином цикле, что и накопление суммы, и когда среднее ещё неизвестно. Потому что когда подсчитывается последовательность, например, 10000 значений (что совершенно обычно в реальных экспериментах) никто не позволит хранить эту уйму значений для повторного цикла.

  1. Ахахах, а я так сделал первое

    #include
    #include
    using namespace std;

    int main()
    {
    int i = 1;
    int sum = 0;
    while (i != 0) {
    cout << "Enter number. If you want to stop, type 0: " <> i;
    sum = sum + i;
    }
    cout << "And the sum of your numbers is ..." << sum << " !" << endl;
    system("pause");
    return 0;
    }

  2. Мой вариант решения второй задачи

    #include
    using namespace std;

    int main (){

    setlocale (LC_ALL, "rus");

    //Переменные
    int iMinValue(0); // Минимальное значение диапозона
    int iMaxValue(0); // Максимальное значение диапозона
    int iSumValue(0); // Сумма нечетных чисел в диапозоне

    //Запрос на ввод диапозона чисел
    cout << iMinValue;
    cout << iMaxValue;
    cout << "Нечетные числа в диапозоне от " << iMinValue << " до " << iMaxValue << ": ";

    // Выводим все нечетные числа диапозона
    for (int i = iMinValue; i < iMaxValue + 1; i++)
    {
    if (i % 2 != 0) // Если остаток от деления не равен 0, то выводим число в ряд
    {
    cout << i << " "; // Выводим ряд нечетных чисел из диапозона
    iSumValue += i; // Записываем сумму нечетных чисел
    }
    }
    cout << endl;
    cout << "Сумма нечетных чисел: ";
    cout << iSumValue;
    cout << endl;
    }

  3. ребят подскажите пожалуста к третему заданию как доделать пеньок к пирамиде штоб получилась йолка

    1. Ответ от Stilet:
      В конец пропиши:
      Код:
      setlocale(LC_ALL, “C”);
      for (int i = 0; i < height/2+3; i++){ cout.width(height/2+3); for (int j = 1; j < 6; j++) cout<<(char)2510; cout << endl; }

  4. Я так понимаю, третью задачу никто самостоятельно не решил, а админу все равно на просьбы прокомментировать решение.

    1. Не издевайтесь… там всего 12 строчек кода с циклами, который вас озадачил. Сделаю вам большую услугу, если не прокомментирую, а вы внимательно построчно разберете этот код и поймете, что к чему.
      Допустим, высота треугольника равна 4 (height = 4). Вот и представьте, что с этой переменной происходит в циклах (пройдите их мысленно пошагово ). А то, что первый внутренний цикл рисует пробелы, а второй символы – это очевидно.

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

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