Премини към съдържанието

Препоръчан отговор


Здравейте, това е условието на задачата:

Да се напише програма, която въвежда естествени числа от клавиатурата (по малки от 216), до въвеждането на отрицателно число. Да се изведе на екрана абсолютната стойност на разликата между най-малкото и най-голямото от въведените числа (без да се взима предвид последното въведено отрицателно число). При въведени по-малко от две естествени числа, да се изведе подходящо съобщение за грешка.

Ето какво направих аз:

#include <iostream>
using namespace std;

int main()
{
    int x, y, z;

    cout << "Input 3 different numbers: ";
    cin >> x >> y >> z;

    if (x < 0) cout << "Wrong number!\n";
    if (y < 0) cout << "Wrong number!\n";
    if (z < 0) cout << "Wrong number!\n";
    if (x >= 65536)    cout << "Wrong number!\n";
    if (y >= 65536)    cout << "Wrong number!\n";
    if (z >= 65536)    cout << "Wrong number!\n";
                        
    cout << "First number: " << x << endl;
    cout << "Second number: " << y << endl;
    cout << "Third number: " << z << endl;

    if (x > y)
    {
        if (y > z) 
        {
            int a = x - z;
            cout << "Difference: " << abs(a) << endl;
        }
        else 
        { 
            int b = x - y;
            cout << "Difference: " << abs(b) << endl;
        }
    }
    else
    {
        if (x > z)
        {
            int c = y - z;
            cout << "Difference: " << abs(c) << endl;
        }
        else
        {
            int d = y - x;
            cout << "Difference: " << abs(d) << endl;
        }
    }

    return 0;
}

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Хубаво си написал нещо, само дето няма нищо общо с условието.

#include <iostream>

using namespace std;

int main()
{
    int n, br, min, max;
    max = -1; br=0;
    min = 999999;
    cout<<"Enter numbers from 0 to 65535, <0 for EXIT\n";
    while (1)
    {
        cin>>n;
        if (n<0) break;
        if (n>65535) {cout<<"< 65536!\n";continue;}
        ++br;
        if (n<min) min=n;
        if (n>max) max=n;
    }
    if (br==0)      cout<<"No input numbers\n";
    else if (br==1) cout<<"Only one number\n";
    else cout<<"MAX - MIN = "<<max-min<<endl;
}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Знам, беше далеч от истината, но толкова можах... Много благодаря за помощта!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.