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

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

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

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

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

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

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

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

  1. Помогите пожалуйста понять задачу с треугольником. Никак не могу понять ее.

    1. Итератор главного цикла входит со значение 0, поэтому в первом вложенном цикле (если произвести соответствующие вычисления) j=1,j=2,j=3,j=4; Так как это цикл отвечает за пробелы, мы получим 4 пробела. После чего итератор(i=0) зайдет во второй цикл, в котором j=1; Второй вложенный цикл отвечает за ‘^’, поэтому этот знак выведется один раз.
      Итератор главного цикла входит со значением 1, поэтому в первом вложенном цикле j=1,j=2,j=3; Соответственно будет 3 пробела. Заходим во второй вложенный цикл: j=3,j=4,j=5; Соответственно выведется три наших знака ‘^’. И так далее…

    1. Да нет, это не помогает, да и не должно помогать. По большому счету это меняет только резервируемую память.
      Я когда завожу дробное число, прога “виснет”…

  2. float kr, kp;
    int kt = 1, kpn = 0, ktn = 0;
    cout <> kr;
    kp = kr;

    for (; kp != 0; kt += 2 , kp–)
    {
    kpn = 0;
    while(kp > kpn) {
    cout < ktn) {
    cout << "^"; ktn++;
    }
    cout << endl;

  3. Задача с треугольником(3):

    #include
    #include
    #include
    using namespace std;

    int main()
    {
    string triangle = “^”;
    int height, i = 0;
    int eve = 30;
    cout <> height;

    while (i < height)
    {
    cout << setw(eve) << triangle << endl;
    triangle += "^^";
    i++;
    eve++;
    }

    system("pause");
    return 0;
    }

  4. Я прочитал начало цикл While и решил 3 задачу с помощью него :) мое решение отличается от других, но оно работает (я тут подредактировалчтобы удобнее и понятнее читать вот:

    #include
    using namespace std;
    int main()
    {
    int i; // высота
    int probel; // количество пробелов
    int trel = 1; // количество треугольников
    int a = 1; /* посколько trel постояно обнуляется, кол – во треугольников
    определеляет эта переменая */
    cout << "введите высоту пирамиды" <> i;
    while(i) {
    probel = i-1; /*кол-во пробелов i-1 (высота = 5) кол-во пробелов на верхнем этаже = 4 и.т можете сами убедится что это работает */
    while(probel) {
    cout << " "; // выводит пробелы
    probel–;
    }

    while(trel) {
    cout << "^"; // после пробелов пишем треугольники
    trel–;
    }
    a += 2; /*закономерность треугольников – 1, 3, 5, 7.. то есть увеличивается
    на 2*/
    trel = a; // следуешее кол-во треугольничков
    cout << "\n"; // переходим на новую строку (этаж пирамиды);
    i–;
    }

    return 0;
    } /* я очень старался надеюсь вам понравилось, не обращяйте внимание на грамматические ошибки и орф. (Я НОВИЧЕК)*/

  5. #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “ru”);
    cout << "программа для вывода треугольника"<<endl;
    cout <> height;
    for (int j = 0; j < height; j++)
    {
    for (int i = 1; i < height * 2; i++)
    {
    if (i height+j)
    cout << " ";
    else
    cout << "^";

    }
    cout << endl;
    }

    }// задачка с треугольником(в vs 2017)

  6. #include “pch.h”
    #include
    using namespace std;

    int main()
    {
    int height;
    cout <> height;
    for (int i = 1; i <= height; i++)
    {
    for (int j = 1; j = height – i + 1) && (j <= height + i – 1)) ? cout << "^" : cout << " ";
    }
    cout << endl;
    }
    return 0;
    }

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

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