Informatică, întrebare adresată de angelicus, 9 ani în urmă

Ionel are H1 cm, Gigel are H2 cm si Danut are H3 cm. Scrieti un program care sa afiseze numele celor 3 copii in ordine crescatoare a inaltimii. (C/C++)

Daca are cineva alta solutie in afara de varianta de mai jos, care e cam babeasca :)

if ((H1 > H2)&&(H2 > H3)) printf("Ionel, Gigel, Danut");
if ((H1 > H3)&&(H3 > H2)) printf("Ionel, Danut, Gigel");
if ((H2 > H1)&&(H1 > H3)) printf("Gigel, Ionel, Danut");
if ((H2 > H3)&&(H3 > H1)) printf("Gigel, Danut, Ionel");
if ((H3 > H2)&&(H2 > H1)) printf("Danut, Gigel, Ionel");
if ((H3 > H1)&&(H1 > H2)) printf("Danut, Ionel, Gigel");


artur99: bagi in vector dinamic, sortezi si afisezi :D
angelicus: n-am vectori :)))
artur99: pff :))
angelicus: vezi ca numele nu se atribuie nici unor variabile :D
artur99: :)) in PHP se atribuie :))))
angelicus: ar fi fost mai usor daca ar fi inregistrari de tip record
artur99: $arr['h1']="Ional"; :)))
angelicus: si in C ar merge cu stringuri
angelicus: insa n-ar fi cu mult mai usor
angelicus: singura solutie normala is tipurile inregistrari unde numele si inaltimea sunt impreuna

Răspunsuri la întrebare

Răspuns de mvp
4
Eu as face asa doar pentru ca mi se pare mai usor de urmarit:

if(H1>=H2 && H1>=H3) {
    cout<<"Ionel, ";
    if(H2>=H3) {
        cout<<"Gigel, Danut.";
        return 0;
    }
    cout<<"Danut, Gigel.";
    return 0;
} // La primul caz am inclus si cazul in care au inaltimi egale.
if(H2>H1 && H2>H3) {
    cout<<"Gigel, ";
    if(H1>H3) {
        cout<<"Ionel, Danut.";
        return 0;
    }
    cout<<"Danut, Ionel.";
    return 0;
}
if(H3>H2 && H3>H1) {
    cout<<"Danut, ";
    if(H2>=H1) {
        cout<<"Gigel, Ionel.";
        return 0;
    }
    cout<<"Ionel, Gigel.";
    return 0;
}

Alte întrebări interesante