RISOLTO [C++] Dati tre numeri, determinare il maggiore

Stato
Discussione chiusa ad ulteriori risposte.

JayX

Utente Attivo
277
102
Hardware Utente
Così
Codice:
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else if(b>c)
{
max=b;
}
else
{
max=c;
}
Ma scusa, se non riesci a fare un programma che trova il massimo tra tre numeri inizia facendone uno che in input richieda solo due numeri, non capisco perchè intestardirsi.
 
  • Mi piace
Reactions: Squalo03

Squalo03

Bannato a Vita
443
92
Hardware Utente
CPU
amd fx tm 6300 six core processor
Scheda Video
nvidia geforce gtx 650
Monitor
Samsung
Periferiche
mouse
Sistema Operativo
Windows 10 pro
forse ho capito l'errore
Codice:
 //librerie
#include <iostream>
using namespace std;

//3 numeri
int main(){
float a,b,c,max;
cout<<"inserire il valore di a"<<endl;
cin>>a;
cout<<"inserire il valore di b"<<endl;
cin>>b;
cout<<"inserire il valore di c"<<endl;
cin>>c;
if(a>b)
  {
  if(a>c)
    {
    max=a;
    }
    else
    {
    max=c;
    }
    }
else
    if(b>c)
    {
    max=b;
    }
    else
    {
    max=c;
    }
    cout << "Il numero piu' grande tra quelli inseriti e': " <<max<< endl;
    getchar();}
ora funziona grazie...
Post automaticamente unito:

Così
Codice:
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else if(b>c)
{
max=b;
}
else
{
max=c;
}
Ma scusa, se non riesci a fare un programma che trova il massimo tra tre numeri inizia facendone uno che in input richieda solo due numeri, non capisco perchè intestardirsi.

hai ragione lo farò grazie...da ora in poi me la caverò da solo , se ho nesìcessità chiederò aiuto, grazie a tutti
 

Andretti60

Utente Èlite
3,418
2,295
Hardware Utente
perche' non ho visto il primo if(). Vedi cosa significa a non indentare correttamente il codice.
Post automaticamente unito:

Info utile: se l'if o l'else contengono solo una istruzione le { } si possono omettere.
Come nel tuo caso.
Vero, ma e' pur sempre una buona idea di usarle sempre (io lo faccio) perche' in seguito sara' poi facile cambiare il codice se richiesto (e il codice rimane anche piu' leggibile ad ogni modo). Infatti in certe aziende lo impongono. L'importante e' di rispettare la indentazione, dovrebbe essere SEMPRE chiaro quali siano le due parentesi corrispondenti (quella aperta e quella chiusa); se il "corpo" del codice incluso tra parentesi diventa troppo lungo, spezzarlo in funzioni, mai lasciarlo crescere troppo.
 
  • Mi piace
Reactions: Eduadie e Mursey

BAT00cent

Utente Attivo
986
418
Hardware Utente
@Squalo03
non complicarti la vita inutilmente, c'è un modo semplicissimo di fare l'esercizio, prova a implementarlo così:
leggi il primo numero e memorizzalo direttamente come max/massimo (ciò è corretto perché è l'unico numero che hai letto);
poi leggi il secondo numero e confrontalo con max: se è maggiore aggiorna semplicemente max,
infine leggi il terzo numero e ripeti il confronto con max eventualmente aggiornandolo;
per fare tutto questo ti basta la variabile max e una sola variabile per lèggere gli input successivi, risolvendo il tutto con 2 banalissimi if in sequenza, non c'è bisogno di annidarli
 
  • Mi piace
Reactions: Mursey

Squalo03

Bannato a Vita
443
92
Hardware Utente
CPU
amd fx tm 6300 six core processor
Scheda Video
nvidia geforce gtx 650
Monitor
Samsung
Periferiche
mouse
Sistema Operativo
Windows 10 pro
RAGAZZI VI DOVREI DIRE GRAZIE, PERCHE' GRAZIE A VOI HO RISOLTO IL PROBLEMA OGGI IN CLASSE IL PROF MI HA FATTO FARE UN ALGORITMO+ LA CODIFICA IN C++ E L'HO SAPUTA FARE GRAZIE MILLE @Mursey PUOI CHIUDERE PERCHE' HO RISOLTO DA ORA IN POI CHIEDERO' AIUTO SOLO SE NECESSARIO GRAZIE...
 
  • Mi piace
Reactions: JayX
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando