Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Wyświetlanie cyfr od najmniejszej do największej

Ostatnio zmodyfikowano 2013-11-12 17:48
Autor Wiadomość
azuv
Temat założony przez niniejszego użytkownika
[C++] Wyświetlanie cyfr od najmniejszej do największej
» 2013-11-12 17:36:26
Mam napisać program, gdzie po podaniu przez użytkownika trzech liczb, wyświetla je w kolejności od najmniejszej do największej. Do tego muszę stworzyć funkcje minimum i maksimum. Udało mi się zdziałać coś takiego:
C/C++
#include <iostream>
#include <math.h>
#include <conio.h>

using namespace std;
int a, b, c;

float minimum( int x, int y, int z )
{
    float min;
   
    if( x < y && x < z )
    {
        min = x;
        return min;
    }
    else if( y < z )
    {
        min = y;
        return min;
    }
    else
    {
        min = z;
        return min;
    }
}

float maksimum( int x, int y, int z )
{
    float max;
    if( x > y && x > z )
    {
        max = x;
        return max;
    }
    else if( y > z )
    {
        max = y;
        return max;
    }
    else
    {
        max = z;
        return max;
    }
}

int main()
{
    float min, max;
   
    cout << " Podaj trzy rozne liczby " << endl << endl;
    cout << "Liczba pierwsza:";
    cin >> a;
    cout << "Liczba druga:";
    cin >> b;
    cout << "Liczba trzecia:";
    cin >> c;
    cout << "Program ulozy liczby w kolejnosci od najmniejszej do najwiekszej" << endl;
   
    min = minimum( a, b, c );
    max = maksimum( a, b, c );
    cout << min << " " << max;
   
    getch();
    return 0;
}

Jednak nie mogę wpaść na dobry pomysł, w którym program wyświetlałby mi tę środkową liczbę. Próbowałam w taki sposób:
C/C++
if( min = a && max = b )
{
    cout << min << " " << c << " " << max << endl;
}
else if( min = a && max = c )
{
    cout << min << " " << b << " " << max << endl;
}
else if( min = b && max = a )
{
    cout << min << " " << c << " " << max << endl;
}
else if( min = b && max = c )
{
    cout << min << " " << a << " " << max << endl;
}
else if( min = c && max = a )
{
    cout << min << " " << b << " " << max << endl;
}
else if( min = c && max = b )
{
    cout << min << " " << a << " " << max << endl;
}
else

Jednak po wstawieniu tego do programu wyświetla mi się błąd: "[Error] Ivalue required as left operand of assignment".

Czy mógłby mi ktoś z tym pomóc i wytłumaczyć, jak to prawidłowo rozwiązać? I skąd się wziął ten błąd?
P-96117
Buby
» 2013-11-12 17:46:21
Może dlatego, że zamiast porównać operatorem
==
,
przypisujesz wartości operatorem
=
.
C/C++
int main( void )
{
    //Twoj kod;
   
    if( min == x && max == y )
    // wyswietlasz max, srodkowa , min :)
   
    //itd
         }
P-96118
azuv
Temat założony przez niniejszego użytkownika
» 2013-11-12 17:48:56
Dziękuję serdecznie, już wszystko działa : )
P-96119
« 1 »
  Strona 1 z 1