|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Mar 2010
Messaggi: 8
|
[C++] Valore piu grande in un vettore
Ciao a tutti, il mio professore mi ha assegnato un compito vistochè stiamo studiando i vettori...
devo assegnare 10 valori in un vettore... e verificare qual'è il più grande... per quanto riguarda l'assegnare i valori del vettore ho pensato al codice: Codice:
#include <stdio.h> #include <stdlib.h> main () { int v[10],i; for(i=0;i<10;i++) { printf("Inserisci valore %d: ",i); scanf("%d",&v[i]); } system("pause"); } Grazie in anticipo, Marco. ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
Tu cosa faresti se fossi una macchina che non ha alcuna idea dei numeri che hai messo nel vettore?
![]() In linea di principio non è molto diverso dal metodo che hai usato per l'inserimento. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
max_element
Comunque io userei il C++ e non il C |
![]() |
![]() |
![]() |
#4 | ||
Junior Member
Iscritto dal: Mar 2010
Messaggi: 8
|
Quote:
eh il prof ci ha insegnato solo il C e non il C++...infatti ho sbagliato nel titolo... Comunque alla fine ho sviluppato questo: Quote:
Ultima modifica di MarcoWesley10 : 22-03-2010 alle 19:11. |
||
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Non ti serve mica scorrerre il vettore due volte. Puoi fare il controllo subito dopo aver ricevuto i singoli valori.
PS: Per il codice usa il tag [CODE], non [QUOTE]. |
![]() |
![]() |
![]() |
#6 |
Utente sospeso
Iscritto dal: Feb 2010
Città: FeedBack 100% positive
Messaggi: 1112
|
Codice:
#define max 10 int v[max]; int main() { int i,m=0; printf("Ins. valori:"); for(i=0;i<max;i++) { gets(v[i]); oppure scanf("%d",&v[i]); if(v[i]>m) m=v[i]; } printf("Numero piu' grande: %d",m); }
__________________
System: i7 920 @ 4.2Ghz - RIIE - OCZ Plt. 1600 - HD6990 - Xonar D2X - Corsair Force II 120gb + 1TB - Enermax Rev1050W - Obsidian 800D Periferiche: Acer GD245H - Razer BlackWidow - SteelSeries Sensei/7H - CM Storm Tactical |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Feb 2006
Messaggi: 134
|
E se i valori inseriti fossero tutti minori di 0?
|
![]() |
![]() |
![]() |
#8 |
Utente sospeso
Iscritto dal: Feb 2010
Città: FeedBack 100% positive
Messaggi: 1112
|
attualmente l'utente in questione farà programmi basillari e quindi difficilmente il prof. gli fà fare una serie di controlli etc...
e cmq dubito che in un vettore di tipo int ci vai a mettere numeri minori di 0. al massimo l'unica cosa utile che si può fare,è implementare un controllo che permetta di acquisire solo numeri e non caratteri.
__________________
System: i7 920 @ 4.2Ghz - RIIE - OCZ Plt. 1600 - HD6990 - Xonar D2X - Corsair Force II 120gb + 1TB - Enermax Rev1050W - Obsidian 800D Periferiche: Acer GD245H - Razer BlackWidow - SteelSeries Sensei/7H - CM Storm Tactical Ultima modifica di inkSnake : 23-03-2010 alle 14:42. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
![]() |
![]() |
![]() |
#10 |
Utente sospeso
Iscritto dal: Feb 2010
Città: FeedBack 100% positive
Messaggi: 1112
|
ma cosi come è impostato il codice se tu ci metti un bel - ,esso viene acquisito prima del numero che segue. non so se mi sono spiegato.
__________________
System: i7 920 @ 4.2Ghz - RIIE - OCZ Plt. 1600 - HD6990 - Xonar D2X - Corsair Force II 120gb + 1TB - Enermax Rev1050W - Obsidian 800D Periferiche: Acer GD245H - Razer BlackWidow - SteelSeries Sensei/7H - CM Storm Tactical |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
![]() |
![]() |
![]() |
#12 |
Utente sospeso
Iscritto dal: Feb 2010
Città: FeedBack 100% positive
Messaggi: 1112
|
ottimo,questa non la sapevo,grazie per l'intervento.
__________________
System: i7 920 @ 4.2Ghz - RIIE - OCZ Plt. 1600 - HD6990 - Xonar D2X - Corsair Force II 120gb + 1TB - Enermax Rev1050W - Obsidian 800D Periferiche: Acer GD245H - Razer BlackWidow - SteelSeries Sensei/7H - CM Storm Tactical |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Io al professore darei una cosa tipo questa in C++, ma non credo passerei l'esame:
Codice:
#include <algorithm> #include <iterator> #include <vector> #include <iostream> int main(int argc, char** argv) { std::vector<int> v; std::copy(std::istream_iterator<int>(std::cin), std::istream_iterator<int>(), std::back_inserter(v)); std::cout << *std::max_element(v.begin(), v.end()) << std::endl; return 0; }
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
![]() |
![]() |
![]() |
#14 | |
Utente sospeso
Iscritto dal: Feb 2010
Città: FeedBack 100% positive
Messaggi: 1112
|
Quote:
__________________
System: i7 920 @ 4.2Ghz - RIIE - OCZ Plt. 1600 - HD6990 - Xonar D2X - Corsair Force II 120gb + 1TB - Enermax Rev1050W - Obsidian 800D Periferiche: Acer GD245H - Razer BlackWidow - SteelSeries Sensei/7H - CM Storm Tactical |
|
![]() |
![]() |
![]() |
#15 | |
Junior Member
Iscritto dal: Mar 2010
Messaggi: 8
|
Quote:
comunque questo credo sia c++ io ho sbagliato a scrivere nel titolo perchè intendevo C...comunque il programma che ho sviluppato e che ho postato è andato più che bene (il prof mi voleva fregare xke quando sono andato alla lavagna voleva farmi trovare il valore minimo e non il massimo, credendo che io avevo copiato il lavoro) e sono riuscito a farlo...grazie comunque per i suggerimenti ![]() |
|
![]() |
![]() |
![]() |
#16 |
Member
Iscritto dal: Nov 2009
Messaggi: 57
|
Semplice e indolore
![]() Codice:
#include <stdio.h> main () { int v[10],i,k; k=0; for(i=0;i<10;i++) { printf("Inserisci valore %d: ",i); scanf("%i",&v[i]); } for(i=0;i<10;i++) if(v[i]>k) k=v[i]; printf("\r\n"); printf("Il numero max e': %i\r\n",k); system("pause"); } |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
![]() |
![]() |
![]() |
#18 |
Member
Iscritto dal: Nov 2009
Messaggi: 57
|
Ahahahha...sorry...xD
|
![]() |
![]() |
![]() |
#19 | |
Member
Iscritto dal: Mar 2008
Messaggi: 96
|
Quote:
personalmente inizierei m con il valore nella prima posizione del vettore e poi il for lo farei partire dal secondo Codice:
... int m = v[0] for(int i = 1; i < v.lenght ; i++){ .... } .... |
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:49.