The basics of programming in c++ for beginners

Tasks: while loops, do while, nested loops

We met with loops while and do while in C++ and c nested constructions in loops. Let us tasks solving.

1. Organize continuous input of numbers with the keyboard, until the user has entered 0. After entering a zero, show on the screen the number of numbers, which were introduced, their total amount and the arithmetic mean. Tip: you must declare the counter variable, that will count the number of entered numbers, and variable, that will accumulate a total sum of numbers.

2. It is necessary to sum up all the odd integers, which will introduce the user to the keyboard.

3. The task is more difficult. Draw an isosceles triangle of characters ^. The height of a user selects. For example: height = 5, on the screen

task nested loops

176 thoughts on “Tasks: while loops, do while, nested loops

  1. Если кому то вдруг интересно, альтернативный вариант решения второй задачи с помощью цикла for. :)

    #include
    using namespace std;

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

    int debut;
    int fin;
    int number;
    int sum = 0;

    cout << debut;
    cout << fin;

    for(int i = (debut - 1); i < fin; ++i){
    number = debut;
    if (number % 2 != 0){
    sum = sum + number;
    debut = debut + 1;
    }
    else{
    debut = debut + 1;
    continue;
    }
    }
    cout << "Сумма нечётных чисел в данном диапазоне: " << sum << endl;

    }

  2. я один не допедриваю принцип работы whille??? прога рабочая,но не уверен,что do while нужна.и специально длявыскочеквнесзащиту для дурака
    case 9:
    {
    /*. Необходимо суммировать все нечётные целые числа в диапазоне,
    который введёт пользователь с клавиатуры*/

    double a = 0;
    double b = 0;
    int i = 0;
    double s = 0;

    cout << a;
    cin >> b;
    do
    {
    if (a < b)
    {
    for (i = a; i <= b; i++)
    {
    if (i % 2 == 0)
    {
    continue;
    }
    s += i;
    cout << "нечетные числа из вашего диапазона\t" << i << endl;

    }cout << "сумма этих чисел = \t" << s < b)
    {
    for (i = b; i <= a; i++)
    {
    if (i % 2 == 0)
    {
    continue;
    }
    s += i;
    cout << "нечетные числа из вашего диапазона\t" << i << endl;
    }
    cout << "сумма этих чисел = \t" << s << endl;
    }

    break;
    } while (a == b);
    cout << "алльенЬ\n";
    break; }

  3. int main()
    {
    setlocale(LC_ALL, "rus");

    int a = 0, b = 0, i = -1;
    do
    {
    a = _getche() - 48;
    b = a + b;
    i++;
    } while (a != 0);
    if (b == 0)
    exit(0);
    cout << "\nСумма = " << b << endl
    << "Колличество введеных знаков = " << i << endl
    << "Среднее арефметическое = " << static_cast(b) / i << endl;

    system("pause");
    return 0;
    }

  4. третья

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

    cout << h;
    do
    {
    if(h!=1)
    cout << setfill(' ') << setw(h-1) << ' '
    << setfill('^') << setw(k) << '^' << endl;
    else
    {
    cout << setfill('^') << setw(k) << '^' << endl;
    }
    --h; k += 2;
    } while (h);

    system("pause");
    return 0;
    }

  5. По поводу третьей задачи.
    более менее разобрался с циклами, которые задают высоту фигуры и кол-во пробелов.
    Но хоть убейте не могу разобраться с циклом, который выводит символ, а именно for (int j = height – 2 * i; j <= height; j ).
    Пожалуйста кто- нибудь объясните почему переменная j инициализирована именно таким значением. Заранее благодарен!

    1. int main()
      {
      setlocale(LC_ALL, "rus");

      int height = 0; // высота треугольника

      cout << height;

      for (int i = 0; i = i; j--)
      {
      cout << "!";
      }

      for (int j =0; j <= i; j++)
      {
      cout << '^';
      }
      for (int j=1; j<= i; j++)
      {
      cout <<'^';
      }
      cout << endl;
      }
      return 0;
      }

      1. В условии задачи забыли упомянуть, что операторы вывода символа, пробела и перенос строки можно использовать лишь единождывот тогда она становится интересной ;)

  6. “Tasks: while loops, do while, nested loops”
    Не понятно почему третья задача решена через for(;;), разве это не противоречит теме?
    И как взять код в рамочку?)

    1. Циклы for, while, do while – это разные формы одного и того жекаждый из них может быть переписан через любой другой.
      Так что разницы особой нет.

      1. [quote]Циклы for, while, do while — это разные формы одного и того же — каждый из них может быть переписан через любой другой.
        Так что разницы особой нет.[/quote]
        Я это прекрасно понимаю,однако для циклов for() есть отдельная тема. That is. по логике либо собрать все циклы в одну тему, либо уделить внимание раскрытию объявленной темы.

    2. как взять код в рамочку?
      Это **разметка текста** вставкой тегов BBCode.
      In order for the, чтобы разметить **программный код** нужно записать примерно так (только вместо квадратных скобок [ ] писать угловые ), like this:
      [code]
      здесь вы пишете свой код
      [/code]
      (почитайте поиском про BBCode для более подробного объяснения)

  7. [code с++]
    int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    int a, b;
    int sum = 0;

    cout << "Введите диапазон чисел" << endl;
    cout <> a;
    cout <> b;

    cout << "Сумма не четных чисел: " << endl;
    while (a != b + 1) {
    if (a % 2 != 0) {
    sum += a;
    if (a == b – 1 || a == b) {
    cout << a;
    }
    else cout << a << " + ";
    }
    a++;
    }
    cout << " = " << sum << endl;

    return 0;
    }
    [/code]

  8. [code]
    int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

    int a, b;
    int sum = 0;

    cout << "Введите диапазон чисел" << endl;
    cout <> a;
    cout <> b;

    cout << "Сумма не четных чисел: " << endl;
    while (a != b + 1) {
    if (a % 2 != 0) {
    sum += a;
    if (a == b – 1 || a == b) {
    cout << a;
    }
    else cout << a << " + ";
    }
    a++;
    }
    cout << " = " << sum << endl;

    return 0;
    }
    [/code]

Leave a Reply

Your email address will not be published. Required fields are marked *