PDA

Visualizza la versione completa : linguaggio C++ massimo fra più valori


Q.Pagliuca
20-01-2010, 12:00
Ciao a tutti avrei bisogno di un aiuto ..dovrei creare un programma (utilizzando un while e un contatore) che legga 10 valori e mi dica quae sia il maggiore tra essi ...!!




Allora mi correggo !!!...il mio problema è che non mi parte il programma così come l'ho fatto io... mi dice che la funzione max non è definita o qualcosa del genere ..ho provato a cercare come fare ma nn ho trovato risposta se nn utilizzare + strutture if x elencare i vari casi :S ...dunque volevo sapere se qualcuno ha qualche proposta migliore a riguardo!!!!!

please HELP ME

oregon
20-01-2010, 12:05
Mostra il codice che hai scritto e che non va ...

Q.Pagliuca
20-01-2010, 12:07
Originariamente inviato da oregon
Mostra il codice che hai scritto e che non va ...


non so bene come si posta
il codice cmq provo così ...


#include <iostream>
#include <math.h>
using namespace std;
int x;
int counter;
int largest;



int main() {
counter = 1;
while (counter <= 10)
cin >> x;
largest = max (x);
return 0;
}

oregon
20-01-2010, 12:17
Originariamente inviato da Q.Pagliuca
non so bene come si posta

Devi usare il tasto # per rendere più leggibile il codice.



#include <iostream>
#include <math.h>

using namespace std;

int x;
int counter;
int largest;

int main()
{
counter = 1;
while (counter <= 10)
cin >> x;
largest = max (x);

return 0;
}



Cosa è max ?

Q.Pagliuca
20-01-2010, 12:19
Originariamente inviato da oregon
Devi usare il tasto # per rendere più leggibile il codice.



#include <iostream>
#include <math.h>

using namespace std;

int x;
int counter;
int largest;

int main()
{
counter = 1;
while (counter <= 10)
cin >> x;
largest = max (x);

return 0;
}








Cosa è max ?



prima sapevo che era la funzione massimo ..poi però nn ho trovato riscontro su qualche forum che ho visto ..però non sono riuscito a trovare come poter calcolare il massimo tra più numeri!!!!

oregon
20-01-2010, 12:28
Non è una funzione standard. Può darsi che tu l'abbia trovato in un programma in cui era stata scritta appositamente.

Per trovare il massimo, ti basta seguire questi passi

1) accetti un valore in una variabile che chiami max

2) in un ciclo while accetti un valore in una variabile x e controlli (con una if) che non sia maggiore di max; se è maggiore allora assegni x a max

3) a fine ciclo visualizzi max

A te la scrittura del codice ...

Q.Pagliuca
20-01-2010, 12:29
Originariamente inviato da oregon
Non è una funzione standard. Può darsi che tu l'abbia trovato in un programma in cui era stata scritta appositamente.

Per trovare il massimo, ti basta seguire questi passi

1) accetti un valore in una variabile che chiami max

2) in un ciclo while accetti un valore in una variabile x e controlli (con una if) che non sia maggiore di max; se è maggiore allora assegni x a max

3) a fine ciclo visualizzi max

A te la scrittura del codice ...


ty credo di aver capito ...caso mai dopo posto e ci dai un occhiata?! loll :D

Q.Pagliuca
20-01-2010, 12:34
Originariamente inviato da Q.Pagliuca
ty credo di aver capito ...caso mai dopo posto e ci dai un occhiata?! loll :D


solo una cosa che non mi è chiara ...e se il massimo dei miei valori è più piccolo rispetto a max??? cioè in qst caso sono io ke decido i valori ma se nn fossi io e il massimo fosse + piccolo di max cm si fa?

gianvituzzi
20-01-2010, 12:38
prova un pò così:



#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{

int numeri[10] = {1,2,5,3,9,4,2,1,3,1};

vector<int> vnumeri(numeri, numeri + 10);

cout << "maggiore fra più valori: " <<
*max_element(vnumeri.begin(), vnumeri.end()) << endl;
}


e sistemi nel tuo codice

Q.Pagliuca
20-01-2010, 12:43
Originariamente inviato da gianvituzzi
prova un pò così:



#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{

int numeri[10] = {1,2,5,3,9,4,2,1,3,1};

vector<int> vnumeri(numeri, numeri + 10);

cout << "maggiore fra più valori: " <<
*max_element(vnumeri.begin(), vnumeri.end()) << endl;
}


e sistemi nel tuo codice


così come mi suggerisci tu credo funzioni ..però il problema è che ho delle precise istruzioni in quanto è un esercizio datomi dal prof cioè utilizzare while e un contatore e poi tutto quello che c'è nel capito ...e puntatori , array ecc non ancora ci sono cmq grazie :)

Loading