Programowanie C++ / HTML & CSS / Arduino - ProximalBots

C++

Największa z trzech liczb

Rozwiązanie za pomocą instrukcji warunkowych

Program ma za zadanie porównać trzy liczby całkowite (int) wpisane przez użytkownika, dla ułatwienia zakładamy, że zmienne nie mogą mieć powtarzających się wartości.

Skorzystamy z kilku instrukcji warunkowych, które sprawdzą wszystkie możliwe wypadki.

Kiedy użytkownik podał już liczby, program może zacząć je porównywać. Na początek sprawdzi liczby "a" i "b" zakładając, że "a" jest większe od "b". To założenie może być prawdziwe lub fałszywe, więc musimy rozważyć dwa przypadki

  • w przypadku prawdy: Założenie było trafne, więc trzeba porównać liczby "a" i "c",
  • w przypadku fałszu: Jednak "b" było większe niż "a", więc trzeba porównać liczby "b" i "c",

Na końcu obu przypadkow trzeba wyświetlić rozwiązanie.

#include "iostream"
using namespace std;
 
int main()
{
    int a, b, c;
 
    cout << "podaj liczbe a: ";
    cin >> a;
 
    cout << "podaj liczbe b: ";
    cin >> b;
 
    cout << "podaj liczbe c: ";
    cin >> c;
 
    if (a > b)
    {
        if (a > c) cout << "A" << endl;
        else cout << "C" << endl;
    }
    else
    {
        if (b > c) cout << "B" << endl;
        else cout << "C" << endl;
    }
    return 0;
}

Rozwiązanie za pomocą tablicy dynamicznej

Wadą poprzedniego rozwiązania jest duża komplikacja kodu, przy większej ilości liczb do porównania stałby się kompletnie nieczytelny i trudny w obsłudze. Poniższy program daje możliwość wyboru ilości liczb do porównania, a to za sprawą tablicy dynamicznej która przyjmuje wielkość wpisaną przez użytkownika.

#include "iostream"
using namespace std ;
 
int main ( )
{
    int ile_liczb ;
    cout << "Ile liczby chcecsz porownac:" ;
    cin >> ile_liczb ;
 
    // Tworzenie tablicy dynamicznej
    int * liczby = nowy int [ ile_liczb ] ;
   
    // Wczytanie liczb
    cout << "Podaj liczby!" << endl ;
    for ( int i = 0 ; i < ile_liczb ; i ++ )
    {
        cin >> liczby [ i ] ;
    }
 
    // Przypisanie internetowa max
    int max = liczby [ 0 ] ;
 
    // Porównywajandia max z kolejnymi wartościami
    for ( int i = 0 ; i < ile_liczb ; i ++ )
    {
        if ( liczby [ i ] > max ) max = liczby [ i ] ;
    }
    cout << "max =" << max << endl ;
 
    // Usunięcie tablicy dynamicznej
    delete [ ] liczby ;
 
    return 0 ;
}

Aktualności