View Single Post
Old 29-06-2006, 17:09   #1
Satiel
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:


#include <stdio.h>
#include <stdlib.h>
#define N1 6
#define T 20

int main(int argc, char *argv[])
{

int V1[N1];
float prova;
int I;
float Q1;
int Q2;


printf("Inserire i numeri-> ");
for(I=0;I<N1;I++){
if(I%2==0){ //controlla se l'indice è pari
do{ //entra nel ciclo per controllo /3
scanf("%d",&prova);
Q1=V1[i]/3;
Q2=Q1;
V1[i]=prova;}
while(Q2*3==prova);} //se il numero è /3 esce dal ciclo
if(I%2==1) //controlla se l'indice è dispari

scanf("%d",&V1[i]); //immette semplicemente il numero
}

/*Visualizza il vettore per vedere se lo ha preso bene*/

for(I=0;I<N1;I++)
printf("\n %d",V1[i]);







system("PAUSE");
return 0;
}



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:

#include <stdio.h>
#include <stdlib.h>
#define B 3
int main(int argc, char *argv[])
{

float A;
float C1;
int C2;
int I;



printf("\n\nInserire il numero "); // Inserisce il numero
scanf("%f",&A);
C1=A/3; // Fa la divisione
C2=C1; // Converte il float in int eliminando le virgole
if(C2*3==A) // Se il numero intero è uguale al numero che ho immesso allora anche il risutato era intero
printf(" %f e' divisibile\n\n",A);
else
printf(" %f non e' divisibile\n\n",A);




system("PAUSE");
return 0;
}



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
Satiel è offline   Rispondi citando il messaggio o parte di esso