|
|||||||
|
|
|
![]() |
|
|
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: 12859
|
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 20: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 15: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: 00:11.




















