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

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

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

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

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

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

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

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


  1. int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    int height;
    int a, b;

    cout <> height;

    a = b = height;

    for (int i = 0; i < height; i++) {
    for (int j = 0; j = a && j <= b) cout << "^";
    else cout << " ";
    }
    a--;
    b++;
    cout << endl;
    }

    return 0;
    }


  2. #include

    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "ru");

    int min_digit = 0;
    int max_digit = 0;
    int total_digit = 0;

    cout << "Введите диапзон!" << endl;
    cout <> min_digit;
    cout <> max_digit;

    while (min_digit > max_digit)
    {
    cout << "Минимальное значение не может быть больше максимального!" <> max_digit;
    }

    for (int i = 0; i != (max_digit - min_digit); i++)
    {
    if ((min_digit + i) % 2)
    {
    cout << min_digit + i << endl;
    total_digit += (min_digit + i);
    }
    }

    cout << total_digit << endl;

    return 0;
    }

    Нормально?

  3. #include “stdafx.h”
    #include
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    setlocale(LC_ALL, “rus”);
    int a=1,cont = -1,sum = 0,av = 0;
    while (a!=0)
    {
    cout <> a;
    sum += a;
    cont++;
    }
    av = sum / cont;
    cout << "Сумма чисел : " << sum << endl;
    cout << "Количество чисел : " << cont << endl;
    cout << "Среднее арифметическое : " << av << endl;
    system ("pause");
    }

  4. Последняя задача довольно таки простая. Её можно и на Си реализовать:

  5. Я когда изучил тему, приступил к задачам, начинаю решать, что-то примерно накидал, скомпилировал, не получилось, учел ошибку, подредактировал ..
    и так несколько раз, пока не получится верное решение. Такой порядок действий правильный? Или я изначально должен продумать все задание, а потом приступать к написанию программы. Изучаю с нуля, в принципе все задачи сам решаю, но порой по 1-2 часа уходит на каждую. Это нормально, или я безнадежен?)

    1. Такой порядок действий правильный – программы отрабатывают всегда методом последовательных приближений.

      Хотя продумать заранее порядок последующих действий тоже полезно: тогда число этих приближений будет меньше.

  6. 3. Обчислити значення кореня кубічного з точністю , використавши ітераційну формулу Ньютона . Підрахувати кількість ітерацій, за які досягається бажана точність. Точність обчислення визна¬ча-ється як модуль різниці двох послідовних ітерацій.

  7. А есть ли код для нахождения максимального числа из введенных(1 задача)?
    Если есть, подскажите, пожалуйста

  8. ИМХО Задачу 1 через цикл for(;;) легче сделать, а через while как-то не очень понятно.

    1. Наконец-то дошло как через while сделать:

    2. Во многих публикациях и разных языках программирования цикл while считается более общей формой, чем цикл for.

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

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