|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
[C] Acquisizione Array alternato
Ciao a tutti, vi chiedo ancora una volta il vostro aiuto per un programma in C.
Ecco cosa dovrebbe fare: Acquisire i dati da tastiera e immetterli in un Array, questi numeri però devono essere alternativamente divisibili per 3 *Esempio* 10 5 nn viene considerato 4 nn viene considerato 6 11 16 nn viene considerato 18 ecc... Ecco il mio codice Quote:
Il problema è che non rimane dentro al ciclo se il numero nn è divisibile per 3, ma mette uno zero e prosegue. Sono sicuro al 99,9% che il controllo della divisione sia giusto perchè a parte avevo sviluppato un programmino che faceva solo questo, ve lo posto così potete verificare anche voi Quote:
Ringrazio in anticipo chiunque sappia aiutarmi
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
||
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Sarò criptico
Codice:
if(a%b==0)
printf("Il numero a è divisibile per b");
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Ok grazie ma sono sicuro che il problema era nel fatto che non rimaneva nel cliclo while...
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
per forza
Codice:
do{ //entra nel ciclo per controllo /3
scanf("%d",&prova);
Q1=V1[i]/3;
Codice:
Q2=Q1; V1[i]=prova;} [/code] while(Q2*3==prova);} //se il numero è /3 esce dal ciclo[/code] Quindi questo test non sarà mai vero il codice "corretto" è questo Codice:
for(I=0;I<N1;I++){
if(I%2==0){
do
scanf("%d",&V[i]);
while(V[i]%3==0);
}else
scanf("%d",&V1[i]);
Ultima modifica di Andlea : 29-06-2006 alle 17:37. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Mille grazie
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Niente da fare, non resta nel ciclo
Ecco la modifica Quote:
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
aspè che guardo e ti posto il codice.
EDIT: allora il seguente codice prende valori alternati partendo dal primo che deve essere mod3. Se lo vuoi al contrario basta che metti ! sull'if del valore booleano. Codice:
#include "stdafx.h"
#define N1 6
#define T 20
int main(int argc, char *argv[]){
/* array dei dati che contengono alternativamente valori mod3 l'altro no */
int arrayValori[N1];
/* variabile booleana per acquisire valori alternati */
bool valoreDaInserire = true;
/* variabile di appoggio per acquisizione dei valori da tastiera */
int valSup;
/* variabile per sapere il numero di elementi inseriti */
int i=0;
/* acquisizione dei dati */
while (i<N1){
scanf ("%d", &valSup);
if (valoreDaInserire){
if (valSup%3 == 0) {
/* inseriamo il valore nell'array */
arrayValori[i] = valSup;
/* incrementiamo il numero di elementi */
i++;
/* abilitiamo che il prossimo valore non deve essere mod3 */
valoreDaInserire = false;
}
else printf ("Devi inserire un valore mod3.\n");
}
else {
if (valSup%3 == 0){
printf ("Devi inserire un valore non mod3.\n");
}
else{
/* inseriamo l'elemento nell'array */
arrayValori[i] = valSup;
/* incrementiamo il numero di elementi */
i++;
/* abilitiamo che il prossimo numero deve essere divisibile per 3 */
valoreDaInserire = true;
}
}
}
/* visualizziamo l'array */
for (i=0;i<N1;i++) printf ("Valore: %d.\n", arrayValori[i]);
return 0;
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso Ultima modifica di Fenomeno85 : 29-06-2006 alle 18:35. |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Quote:
pardòn |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Quote:
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Jun 2004
Città: Reggio Emilia
Messaggi: 592
|
Quote:
__________________
Case: CM-690, ALI:Enermax Modu82+ 525W, Procio: Intel E8400, MB: Asus P5Q-E, RAM: TeamGroup TXDD2048M800HC4, HD:VelociRaptor WD3000GLFS, VGA:Sapphire Ati HD4870, SchedaAudio: Creative Xtreme Gamer, Dissipatore ThermalTake Big Typhoon con Noctua NF-P12, Monitor: Samsung T220, Tastiera Zboard, mouse Razer Lachesis con Goliatus speed edition |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
Quote:
Per la variabile booleana o te la crei te oppure usi semplicemente un intero. ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:53.



















