|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2009
Messaggi: 75
|
Vettore 10 numeri e determinare pari e dispari [help]
Salve a tutti e da un'oretta che mi sto mangiando la testa per realizare un programma che svolga questo quesito:
Caricare in un vettore 10 numeri interi...successivamente mostrate un contatore dei numeri pari e di quelli dispari...infine stampare (mostrare) prima tutti i numeri pari e poi tutti quelli dispari... Io l'ho fatto così ma sto avendo problemi nella stampa dei numeri pari e di quelli dispari....chi mi può aiutare? #include <stdio.h> int main () { int vet[10]; int pari; int dispari; int resto; int i; pari=0; dispari=0; for(i=1;i<=10;i++) { printf("inserisci un numero: "); scanf("%d",&vet[i]); } for(i=1;i<=10;i++) { resto=vet[i]%2; if(resto==0) pari++; else dispari++; } printf("numeri pari %d\n",pari); printf("numeri dispari %d\n",dispari); scanf("%d"); } Sicuramente c'è qualche errore alla stampa del vettore....o all'assegnazione...perchè li sto appena studiando e non li so usare ancora bene... |
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2005
Messaggi: 3609
|
scusa ma dov'è la parte per la stampa dei numeri pari e dispari?
comunque se li vuoi stampare tutti alla fine, potresti fare un altro vettore di controllo booleano e quando un numero è pari segni true, altrimenti false, dopo aver controllato il vettore stampi prima tutti i numeri che ci sono nelle posizioni true, e poi quelli con le posizioni false. potrebbe essere una soluzione..
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm In vendita: |Utenti consigliati|: Marcondiron99 |Utenti sconsigliati|: iltoffa, otherman |
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2009
Messaggi: 75
|
é proprio questo che non riesco a fare....come si codificherebbe con il vettore di controllo booleano? che ancora non li abbiamo studiati...
Grazie |
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2005
Messaggi: 3609
|
potresti fare:
Codice:
bool ctrl[10];
for(i=0;i<10;i++){
if(vet[i]%2){
pari++;
ctrl[i]=true;
}
else {
dispari++;
ctrl[i]=false;
}
}
Codice:
for(i=0;i<10;i++) //stampare i pari if(ctrl[i]) cout<< vet[i] <<"\n"; for(i=0;i<10;i++) //stampare i dispari if(!ctrl[i]) cout<< vet[i] <<"\n";
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm In vendita: |Utenti consigliati|: Marcondiron99 |Utenti sconsigliati|: iltoffa, otherman |
|
|
|
|
#5 | |
|
Member
Iscritto dal: May 2009
Messaggi: 75
|
Dovrebbe uscire così....ma non sto riuscendo a fare la parte di stampa...non la sto capendo..
Quote:
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2005
Messaggi: 3609
|
scusa come prima cosa mi sono dimenticato di chiederti che linguaggio usi, non l'hai specificato nel titolo e io ho usato il linguaggio del c++..
per quanto riguarda quello che ti ho scritto cercherò di spiegartelo un po meglio: for(i=0;i<10;i++) //ciclo for per scorrere il vettore di controllo ctrl[i] if(ctrl[i]) // se ctrl[i] è true entra nel ciclo for. se ctrl[i] è true allora il corrispondente numero di vet[i] deve essere pari perchè precedentemente hai fatto: Codice:
resto=vet[i]%2;
if(resto==0){
pari++;
ctrl[i]=true;
}
quindi utilizziamo la riga sotto per stampare i valori pari. cout<< vet[i] <<"\n"; la stessa cosa avviene con i numeri dispari, visto che volevi stampare prima tutti i pari e poi tutti i dispari si devono fare due cicli for separati... spero di essere stato un po più chiaro for(i=0;i<10;i++) //stampare i dispari if(!ctrl[i]) cout<< vet[i] <<"\n";
__________________
Notebook MSI GT73VR 7RE TITAN SLI: 17.3" 4K IPS @ 120 Hz, i7-7820HK, 2x Nvidia GeForce GTX 1070 (SLI) - 8 GB GDDR5, 2x 16GB DDR4 2.400Mhz, Super Raid 4-512GB NVMe SSD +1TB (SATA) 7200rpm In vendita: |Utenti consigliati|: Marcondiron99 |Utenti sconsigliati|: iltoffa, otherman |
|
|
|
|
#7 | |
|
Member
Iscritto dal: May 2009
Messaggi: 75
|
Fatto...ho capito sei stato chiarissimo
io l'ho fatto così (uso C)..: Quote:
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:39.


















