Funzione inserisci elemento in un vettore in C

di il
1 risposte

Funzione inserisci elemento in un vettore in C

Salve a tutti avrei bisogno del vostro aiuto. Ho realizzato un programma che deve essere strutturato in questo modo: una funzione di input del vettore, una di output ed una di inserimento di un elemento nel vettore. Il problema è che il compilatore non mi dà errori di compilazione ma quando inserisco gli elementi, il nuovo elemento da inserire e la posizione in cui inserire tale elemento il programma smette di funzionare, quindi credo che ci sia qualche errore, che non sono riuscita a trovare, nella funzione 'inserisci' mi potreste aiutare? riporto di seguito il programma
#include<stdio.h>
#include<stdlib.h>

void input_vettore(int v[],int n){
int i;
for(i=0;i<n;i++){
   printf("inserisci l'elemento di posizione %d\n",i);
   scanf("%d",&v[i]);
}
}
void inserisci(int v[],int x,int posizione,int*n){
int i; //contatore ciclo,dichiarazione variabile locale
for(i=*n-1;i>=posizione;i--)
   v[i+1]=v[i];
v[posizione]=x;
*n=*n+1;
}
void output_vettore(int v[],int n){
int i;
for(i=0;i< n;i++)
    printf("%d\n",v[i]);
}
main(){
int i,posizione;
int x;
int v[5];
int n;
input_vettore(v,5);

printf("digita la posizione in cui inserire l'elemento\n",n-1);
scanf("%d",&posizione);
printf("inserisci l'elemento\n");
scanf("%d",&x);
inserisci(v,x,posizione,&n);
output_vettore(v,6);
system("pause");

}
p.s. credo che l'errore sia nell'utilizzo dei puntatori perchè il programma senza l'utilizzo del passaggio di parametri per referenza funziona

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte