@Dorkin_Kirill
Занимаюсь спортом, люблю играть на гитаре.

Почему значение переменной width выводит какие то неправильные числа?

Сижу значит, решаю задачи, как вдруг понимаю, что ничего не понимаю. Откуда взялись такие значения у width?

#include <iostream>

using namespace std;

int main()
{
    int num1, num2, width, height, attitude, S;

    cout << "Enter the first number: ";
    cin >> num1;
    cout << "Enter the second number: ";
    cin >> num2;

    if ((num1 >= 2) && (num1 <= 100))
    {
        if (num1 <= 50)
        {
            int num1 = width;
            int num2 = height;
            
            cout << width;
        }
        else
        {
            int num1 = height;
            int num2 = width;
        }
    } else {
        cout << "The number must be > 2 and < 100";
    }
}
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 3
Переменные надо инициализировать. Без инициализации в них лежит мусор.
Ответ написан
Комментировать
@impelix
зачем вторая инициализация num1 и num2. И потом ты пытаешься присвоить к переменным значение неизвестных для компилятора значения. Вот компилятор что то и присваивает твоим переменным, дабы ошибки избежать.
Ответ написан
Комментировать
@Toffic
Интуиция мне подсказывает, что имелось ввиду такое вот.
#include <iostream>

using namespace std;

int main()
{
    int num1, num2, width, height, attitude, S;

    cout << "Enter the first number: ";
    cin >> num1;
    cout << "Enter the second number: ";
    cin >> num2;
    if ((num1 >= 2) && (num1 <= 100))
    {
        if (num1 <= 50)
        {
            width = num1;
            height = num2;
            
            cout << width;
        }
        else
        {
            height = num1;
            width = num2;
        }
    } else {
        cout << "The number must be > 2 and < 100";
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы