Ragazzi ho corretto il programma, si compila, ma il mio computer, essendo un po' vecchiotto, mi chiude tutto.
potete provare voi e dirmi cosa esce? per favore?
#include <stdio.h>
#include <stdlib.h>
void shift (int*, int n);
void lettura (int*, int a);
// PROGRAMMA PRINCIPALE
int main ()
{
int n;
int i ;
printf ("inserire numero elemeti:\n");
scanf ("%d", n);
int V[n];
lettura (V,n);
printf ("prima dello shift:\n");
for(i=0;i<n;i++){
scanf("%d", &V[i]); }
for ( i=0;i<n;i++){
printf ("%d",V[i]);
system ("PAUSE");
return 0;
}
}
// FUNZIONE 1
void shift (int *Vet, int n){
printf ("di quanti posti vuoi traslare gli elementi?\n");
int k, i, j;
scanf("%d",&k);
printf("ruotare a destra(D) i sinistra(S)?\n");
char scelta;
scanf("%d",&scelta);
switch(scelta){ //SCELTA IN BASE AL VALORE DELLA VARIABILE CHAR "scelta"
case ('S'):{ //ROTAZIONE SINISTRA
for(j=0;j<k;j++){
int temp=Vet[0];
for( i=0;i<n-1;i++){
Vet[i]=Vet[i+1];
Vet[n-1]=temp;
}
}
break;
}
case ('D'):{ //ROTAZIONE VERSO DESTRA
for(j=0;j<k;j++){
int temp=Vet[n-1];
for(i=n-1;i>0;i--);{
Vet[i]=Vet[j];
Vet[0]=temp; }
}
break;
}
default: { // nel caso in cui venga inserito un valore diverso da D o S
printf ("Scelta non valida\n");
break;
}
}
printf ("Dopo lo shift\n"); }
// FUNZIONE 2
void lettura(int*Vet, int a){
int i ;
for( i=0;i<a;i++){
Vet[i]=i;
}
}