Provato anche con while e va una favola. /* * Scrivere un programma che riceva in input 10 numeri interi e stampi come output * i 10 numeri inseriti in ordine inverso */ #include int main(int argc, char **argv) { //variabili int vettore [11]; //intero da leggere scritto da tastiera int cont; //indice del vettore printf("PROGRAMMA CHE RESTITUISCE I NUMERI IN ORDINE INVERSO
"); //inizializza il contatore a 1 cont = 1; //fintanto che il contatore non arriva a 10 incrementa while(cont= 1; cont--){ //stampa i numeri inseriti in corrispondenza del contatore in ordine inverso printf("Il %d%c numero inserito %c %d ",cont,248,138, vettore[cont]); } }
in pratica se faccio int vett[10]; sono 10 puntatori posti in celle non contigue che contengono l'indirizzo dei vari elementi del vettore che sono posti in celle contigue? come faccio a sapere l'indirizzo di questi puntatori? Si potrebbe conoscere con printf("%p",&vett+i); ? il problema è che poi mi risulta che l'indirizzo del primo puntatore coincide con l'indirizzo del primo elemento, non è strano dato che sono due celle diverse? Scusa la domanda complicata.
Ciao, ho fatto il codice tale e quale al tuo ma il programma mi da problemi nell'esecuzione, infatti quando lo eseguo appena entro nel primo for la i, passa da 0 a 20 immediatamente dopo essere entrato nel for nonostante sia stato inizializzato a 0 prima dell'inizio del ciclo. Se riesce a darmi una mano con questo problema le sarei infinitamente grato, lo stesso vale anche per coloro che leggono il mio commento e sanno come risolvere. in ogni caso bel video Aggiornamento: Ho riprovato con un altro for a parte e alla fine ha funzionato. Magari avevo mancato qualcosa nel codice del video, in ogni caso ora funziona perfettamente
se invece di reinserire i numeri al contrario li stampa automaticamente lui al contrario con i numeri che gia ha all'interno dell'array, come si fa ? :)
ESERCIZIO FUNZIONANTE //scrivere un prog. dato un vettore di 10 numeri li stampi al contrario #include int main() { int vettore[10]; int i; for(i=0;i=0;i--){ printf("al numero %d e' : %d ",i,vettore[i]); } return 0; }
Grazie mille spieghi 1000 volte meglio del mio prof
GRAZIE GRAZIE!!!!!! Sei stato utilissimo per il mio esame di programmazione 1 BRAVISSIMO! MI HAI SALVATO!!!!!!
grandioso non avevo capito l'argomento adesso molto più chiaro, GRAZIE
password più lunghe ne abbiamo? hahahaha XD
Provato anche con while e va una favola.
/*
* Scrivere un programma che riceva in input 10 numeri interi e stampi come output
* i 10 numeri inseriti in ordine inverso
*/
#include
int main(int argc, char **argv) {
//variabili
int vettore [11]; //intero da leggere scritto da tastiera
int cont; //indice del vettore
printf("PROGRAMMA CHE RESTITUISCE I NUMERI IN ORDINE INVERSO
");
//inizializza il contatore a 1
cont = 1;
//fintanto che il contatore non arriva a 10 incrementa
while(cont= 1; cont--){
//stampa i numeri inseriti in corrispondenza del contatore in ordine inverso
printf("Il %d%c numero inserito %c %d
",cont,248,138, vettore[cont]);
}
}
Bravissimo bel video COMPLIMENTI niente da aggiungere
Ciao, non ho capito come mai inserisci 2 'printf' alla fine. Il secondo non doveva essere uno 'scanf'?
Mette il printf perchè i numeri dovranno solo essere letti dal vettore dichiarato nel ciclo prima e non inseriti
in pratica se faccio int vett[10]; sono 10 puntatori posti in celle non contigue che contengono l'indirizzo dei vari elementi del vettore che sono posti in celle contigue? come faccio a sapere l'indirizzo di questi puntatori? Si potrebbe conoscere con printf("%p",&vett+i); ? il problema è che poi mi risulta che l'indirizzo del primo puntatore coincide con l'indirizzo del primo elemento, non è strano dato che sono due celle diverse?
Scusa la domanda complicata.
ottimo video!
Bravissimo, grazie!
posso sapere qual è il programma che usi per compilare?
Ciao, ho fatto il codice tale e quale al tuo ma il programma mi da problemi nell'esecuzione, infatti quando lo eseguo appena entro nel primo for la i, passa da 0 a 20 immediatamente dopo essere entrato nel for nonostante sia stato inizializzato a 0 prima dell'inizio del ciclo.
Se riesce a darmi una mano con questo problema le sarei infinitamente grato, lo stesso vale anche per coloro che leggono il mio commento e sanno come risolvere.
in ogni caso bel video
Aggiornamento:
Ho riprovato con un altro for a parte e alla fine ha funzionato. Magari avevo mancato qualcosa nel codice del video, in ogni caso ora funziona perfettamente
se invece di reinserire i numeri al contrario li stampa automaticamente lui al contrario con i numeri che gia ha all'interno dell'array, come si fa ? :)
grazie bro
ESERCIZIO FUNZIONANTE
//scrivere un prog. dato un vettore di 10 numeri li stampi al contrario
#include
int main() {
int vettore[10];
int i;
for(i=0;i=0;i--){
printf("al numero %d e' : %d
",i,vettore[i]);
}
return 0;
}
perché hai messo %d?
che procione