In pratica avendo un numero di 4 cifre, devi scambiare le migliaia con le decine e le centinaia con le unità :asd:
Ad esempio, definendo un array di 4 numeri (le 4 cifre), basta "ruotarne" il contenuto (verso sinistra o verso destra) in modo circolare di 2 posizioni e visualizzare la configurazione risultante.
Inizia definendo il vettore, ad esempio int vettore [DATNUM]; (naturalmente fai #define DATNUM 10).
Poi i due contatori, il verso dello shifting, il numero di shifting e la variabile temporanea: int i,j,verso, numshift, temp;
Fai un ciclo for per la lettura dei dati del vettore, per l'acquisizione del verso e del numero di shift.
Prosegui con la parte che esegue lo shifting circolare, ad esempio:
Codice:
for (i=0; i<numshift; i++)
{
temp=vettore[0];
for (j=0; j<DATNUM-1; j++);
vettore[j]=vettore[j+1];
vettore[j]=temp;
}
Ciò esegue la rotazione di una posizione verso sinistra, per la rotazione verso destra i passi sono simili.
Infine visualizza i risultati, ad esempio:
Codice:
printf("Vettore finale ruotato");
printf(" di %d posizioni :\n", numshift);
for(i=0; i<DATNUM; i++)
printf("%d\t",vettore[i]);
printf("\n");
return(0);
A presto :ciaociao: