Загрузка...

Help with the program

Thread in C/C++ created by Sh3l3st Oct 13, 2023. 129 views

  1. Sh3l3st
    Sh3l3st Topic starter Oct 13, 2023 Зачем покупать уник, если можно купить пиво? 651 Dec 14, 2021
    Всем доброго времени суток! Есть задание: пользователь вводит с клавиатуры числа до тех пор, пока не введет 0. Найти и вывести на экран: 1) Сумму отрицательных чисел 2) произведение положительных 3) сумму нечетных чисел.

    Вот мой код:

    #include <iostream>
    using namespace std;

    int main()

    {
    setlocale(LC_ALL, "Russian");
    cout << "Введите число: ";
    int x;
    int y = 0;
    int z = 1;
    int a = 0;
    cin >> x;
    while (x != 0)
    {
    if (x < 0)
    {
    while (x < 0)
    {
    y = y + x;
    cout << "Введите число или введите 0, чтобы выйти: ";
    cin >> x;

    }
    }
    else if (x > 0)
    {
    while (x > 0)
    {
    z = z * x;
    cout << "Введите число или введите 0, чтобы выйти: ";
    cin >> x;
    }

    }
    else if (x%2 == 0)
    {
    while (x % 2 == 0)
    {
    a = a + x;
    cout << "Введите число или введите 0, чтобы выйти: ";
    cin >> x;
    }
    }

    }
    cout << y << endl;
    cout << z << endl;
    cout << a << endl;
    return 0;

    Первые 2 условия выполняются, но не могу понять, как сделать так, чтобы 3-ий результат тоже выводился.
     
  2. 777Shane
    777Shane Oct 13, 2023 1014 Dec 20, 2020
    если тебе надо сумму нечетных чисел, то зачем ты проверяешь на четное число? можно же проверять на нечетное x%2 != 0
     
    1. Sh3l3st Topic starter
      777Shane, да я только начал учиться и туплю иногда)
  3. vtlstolyarov
    нахера тебе столько while'ов?

    C
    #include <iostream>

    using namespace std;

    int main() {
    setlocale(LC_ALL, "Russian");
    int a = 0;
    int b = 1;
    int c = 0;

    int x;
    cout << "Введите число: ";
    cin >> x;
    while (x != 0) {
    if (x < 0) a = a + x;
    if (x > 0) b = b * x;
    if (x % 2 != 0) c = c + x;

    cout << "Введите число или введите 0, чтобы выйти: ";
    cin >> x;
    }

    cout << a << endl;
    cout << b << endl;
    cout << c << endl;
    return 0;
    }
    Или если с C++ выебонами то можно чуть короче
    C
    if (x < 0) a += x;
    if (x > 0) b *= x;
    if (x % 2) c += x;
     
    1. Sh3l3st Topic starter
Loading...
Top