Help

di il
3 risposte

Help

Salve a tutti, sono nuovo nel settore della programmazione, volevo sapere perchè questo programma non funziona.. Non restituisce il veicolo di cilindrata superiore a 50 con il prezzo più alto,
#include <iostream>
#include <string>
using namespace std;
string nom_mod[5]={"Yamaha","Ducati","kawasaki","Vespa","boo"};
int prezzo[5]={10000,2000,30000,1000,20000};
int cilindrata[5]={100,200,150,50,300};
int main(){
    int temp=0;
    string alto;
    for (int i=0;i<5;i++){
        while(cilindrata[i]>50){
            if(prezzo[i]>temp){
                temp=prezzo[i];
                alto=nom_mod[i];
            }
        }
    }
    cout<<"La moto che costa di più e' la "<<alto<<" che costa "<<temp<<"euro";
}
Help

3 Risposte

  • Re: Help

    Ciao.
    Perchè utilizzi il while se a te serve solo controllare la cilindrata con un semplice if?
    Il tuo for già scorre tutti i vettori, a te serve solo controllare tramite le condizioni quale valore fa al tuo caso.
  • Re: Help

    Perchè deve confrontare il prezzo solo delle cilindrate maggiori di 50, quindi con il while esegue l'if solo se la cilindrata è maggiore di 50, se per esempio non ne esistono è inutile far partire il ciclo if;
    effettivamente utilizzando il ciclo if invece del while funziona, ma non ho capito perchè non posso usare quel ciclo while in quel caso... !?
  • Re: Help

    EvilPow3r ha scritto:


    Perchè deve confrontare il prezzo solo delle cilindrate maggiori di 50, quindi con il while esegue l'if solo se la cilindrata è maggiore di 50, se per esempio non ne esistono è inutile far partire il ciclo if;
    effettivamente utilizzando il ciclo if invece del while funziona, ma non ho capito perchè non posso usare quel ciclo while in quel caso... !?
    Prima di tutto se metti il while lo fa sempre sulla stessa posizione perchè i non cambia mai e while è un ciclo.
    La risposta alla tua domanda è però che se tu memorizzi nei 3 array le caratteristiche in un certo modo e cioè che l'i-simo elemento forma un unico elemento, a te basta solo il ciclo for per scorrere i tre array e ricercare quello che tu vuoi.
Devi accedere o registrarti per scrivere nel forum
3 risposte