Ragà come faccio tramite i puntatori a selezionare gli elementi pari di un array? (Solo l'idea non il codice)
Ragà come faccio tramite i puntatori a selezionare gli elementi pari di un array? (Solo l'idea non il codice)
Elementi pari o di indice pari? E in che senso "selezionare"?
every day above ground is a good one
allora ho un array a[5]={1,2,3,4,5};
devo selezionare (con un puntatore) i numeri pari 2 e 4 per poi moltiplicarli per 10. E farmi stampare il vettore modificato.
Cioè devi esaminare tutto l'array tramite puntatore e moltiplicare i numeri pari per 10 ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
si
Comincia ad impostare il ciclo for per esaminare tutti i valori dell'array.
Imposta un puntatore all'inizio dell'array e usalo per prendere il valore del singolo elemento.
Controlla se è pari o dispari e moltiplicalo se è pari.
No MP tecnici (non rispondo nemmeno!), usa il forum.
Perchè il primo valore dell'array diventa sempre il numero degli elementi dellìarray stesso?codice:#include <stdio.h> int main(){ int i; int a[]={1,2,3,4,5,6,7}; int *Ppari=a; for(i=0;i<7;i++){ *Ppari=a[i]; if (*Ppari%2==0){ a[i]=a[i]*10; } } for(i=0;i<7;i++){ printf("a[%d] = %d\n", i, a[i]); } system("pause"); }
ad esempio questo mi da in output:
7
20
3
40
5
60
7
Perché inizializzi il puntatore all'elemento di base dell'array, il che significa che ad ogni istruzione
*Ppari = a[i]
vai a modificare il primo elemento dell'array, che è puntato anche da Ppari. L'ultima volta che viene eseguita quest'istruzione è per l'ultimo elemento dell'array, che nel tuo caso è proprio uguale al size dello stesso (7). Se ci metti 130, avrai 130 come primo elemento.
Elimina quell'inizializzazione di Ppari e tutto si risolve.
every day above ground is a good one
Con le correzioni per usare il puntatore ...
codice:int main() { int i; int a[]={1,2,3,4,5,6,7}; int *Ppari=a; for(i=0; i<7; i++, Ppari++) if(*Ppari%2==0) *Ppari *= 10; for(i=0;i<7;i++) printf("a[%d] = %d\n", i, a[i]); system("pause"); return 0; }
No MP tecnici (non rispondo nemmeno!), usa il forum.
Grazie mille...pensavo che la difficoltà dei puntatori all'inizio fosse solo una suggestione....invece sono dei veri figli di......![]()