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

Stato
Discussione chiusa ad ulteriori risposte.

Eduadie

Utente Attivo
204
24
Questo thread è assurdo!

max = A
se max minore di B allora max=B
se max minore di C allora max=C
... e così via per tutti i valori che vuoi.. trovi il valore più alto in max

Puoi togliere tutte quelle parentesi e gli else.

Inviato dal mio Nexus 5 utilizzando Tapatalk

Fai lo stesso numero di confronti. Computazionalmente è la stessa cosa.
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Fai lo stesso numero di confronti. Computazionalmente è la stessa cosa.
Per forza! Il numero di confronti non lo puoi eludere perché è dato dal numero di variabili che comunque devi prendere in esame (n-1)... tu riesci a fare con meno? Il fatto è che gli "else" sono impliciti e complicano solo la cosa inoltre in ogni post la selva di parentesi rende il codice soggetto ad errori e del tutto illeggibile...

Stiamo parlando di trovare il massimo tra tre numeri, l'OP non ci riesce ed ha chiesto aiuto, io credo di non essermi nemmeno mai posto un problema così imbecille da quando programmo, nemmeno 35 anni fa!


Inviato dal mio Nexus 5 utilizzando Tapatalk
 
  • Mi piace
Reazioni: rodhellas

Eduadie

Utente Attivo
204
24
Per forza! Il numero di confronti non lo puoi eludere perché è dato dal numero di variabili che comunque devi prendere in esame (n-1)... tu riesci a fare con meno? Il fatto è che gli "else" sono impliciti e complicano solo la cosa inoltre in ogni post la selva di parentesi rende il codice soggetto ad errori e del tutto illeggibile...

Stiamo parlando di trovare il massimo tra tre numeri, l'OP non ci riesce ed ha chiesto aiuto, io credo di non essermi nemmeno mai posto un problema così imbecille da quando programmo, nemmeno 35 anni fa!


Inviato dal mio Nexus 5 utilizzando Tapatalk

E perchè te la prendi così tanto? Mica partono tutti bravi come te. Lui ha qualche difficoltà perciò ho chiesto aiuto. Lo ha impostato in un certo modo e bisogna aiutarlo su quel modo.
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
E perchè te la prendi così tanto? Mica partono tutti bravi come te. Lui ha qualche difficoltà perciò ho chiesto aiuto. Lo ha impostato in un certo modo e bisogna aiutarlo su quel modo.
Non me la sono presa, ma hai letto tutto il thread? E le domande e l'insistenza e l'aver inteso un forum come una chat.. e l'anarchia totale a partire dal titolo insulso?
Non c'entro niente io, ma a tutto c'è un limite! Per un problema del genere non si chiede aiuto in un forum, bisognerebbe avere almeno questa decenza, è come andare al pronto soccorso per uno starnuto.. è maleducazione e si crea disservizio.
Io la penso così, è una questione di educazione e le regole a proposito esistono anche e soprattutto in un forum.

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
  • Mi piace
Reazioni: Utente 359422

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
mi dispiace ma sbagli, questo forum é stato inventato per risolvere i problemi delle persone e poi perché offendi, uno all'ospedale può andare per emergenza mentre qui è un altro conto quindi se non ti piace abbandona forum!! visto che non sei per niente di aiuto!!!!!

Inviato da SM-J530F tramite App ufficiale di Tom\'s Hardware Italia Forum
Intanto non ho offeso nessuno, e sono stato pure di aiuto visto che la soluzione al tuo "problema" te l'ho pure data!
Di andarmene dal forum per tuo invito non ne ho alcuna intenzione visto che sono qui da tempo e ho fatto osservazioni sull'uso che hai fatto del forum

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

Squalo03

Bannato a Vita
443
92
CPU
amd fx tm 6300 six core processor
GPU
nvidia geforce gtx 650
Monitor
Samsung
Periferiche
mouse
OS
Windows 10 pro
Intanto non ho offeso nessuno, e sono stato pure di aiuto visto che la soluzione al tuo "problema" te l'ho pure data!
Di andarmene dal forum per tuo invito non ne ho alcuna intenzione visto che sono qui da tempo e ho fatto osservazioni sull'uso che hai fatto del forum

Inviato dal mio Nexus 5 utilizzando Tapatalk


buon per te allora non mi dare consigli ....
Post unito automaticamente:

C++:
//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;
        }
        if(b>c)
        {
            max=b;
        }
        else
        {
            max=c;
        }
        max=b;
        }
        else
        {
            max=c;
        }
    cout << "Il numero piu' grande tra quelli inseriti e': " <<max<< endl;
    getchar();}


cosa sbaglio?
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Perché annidi le condizioni?!?..

Inviato dal mio Nexus 5 utilizzando Tapatalk
 

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
C++:
//librerie
#include 
using namespace std;

//3 numeri
int main(){
float a,b,c,max;
coutcin>>a;
coutcin>>b;
coutcin>>c;

max=a;

if(max < b) { max=b;
}

if(max < c) { max=c;
}

cout << "Il numero piu' grande tra quelli inseriti e': " <<max<< endl;
    getchar();}



Inviato dal mio Nexus 5 utilizzando Tapatalk
 

Squalo03

Bannato a Vita
443
92
CPU
amd fx tm 6300 six core processor
GPU
nvidia geforce gtx 650
Monitor
Samsung
Periferiche
mouse
OS
Windows 10 pro
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;
       }
    if(b>c)
      {
      max=b;
      }
    else
      {
      max=c;
      }     
   cout << "Il numero piu' grande tra quelli inseriti e': " <<max<< endl;
   getchar();}
  
   questo l'ho fatto io... pero' non capisco l'errore di logica
 

JayX

Utente Attivo
285
102
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;
       }
    if(b>c)
      {
      max=b;
      }
    else
      {
      max=c;
      }    
   cout << "Il numero piu' grande tra quelli inseriti e': " <<max<< endl;
   getchar();}
 
   questo l'ho fatto io... pero' non capisco l'errore di logica
Se proprio non vuoi utilizzare il codice di rctimelines, che secondo me è il più corretto. Togli il primo else al tuo codice, non ha molto senso.
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili