Il primo errore GIGANTE che tu possa aver fatto è quello di usare dev-c++.
Quell'ide ormai è obsoleto,perdipiu non è main andato bene.
Per il codice ci sono diversi errori,soprattutto logici.
#include <stdio.h>
#include <stdlib.h>
#define SIZE 100
void leggi_vettore(int[], int* );
int modifica_vettore(int v[],int *d);
int insert_vettore(int v[],int pos, int *d, int val);
void stampa_vettore(int[], int);
int main(int argc, char *argv[])
{
int vet[SIZE], n;
leggi_vettore(vet, &n);
stampa_vettore(vet, n);
if (!modifica_vettore(vet, &n)) return -1;
stampa_vettore(vet, n);
printf("\n La nuova dimensione e': %d . \n", n);
return 0;
}
void leggi_vettore(int v[], int *d)
{
int i;
do
{
printf("\n Inserisci la dimensione del vettore:");
//scanf("%d", &*d); la mente umana trova infinite vie
scanf("%d", d);
}while (*d > SIZE );
printf("\n Inserisci i valori (interi) del vettore \n");
for(i=0; i < *d; i++)
scanf("%d", &v[i]);
}
void stampa_vettore(int v[], int d)
{
int i;
for(i=0; i<d; i++)
printf("vettore[%d] = %d \n", i,v[i]);
}
int modifica_vettore(int v[],int *d)
{
printf("Modifica vettore:\n");
int i,n;
for (i = 0 ; i < *d ; i++)
{
if ( v[i] % 2 == 0)
{
printf("Insert value:");
scanf("%d",&n);
if ( !insert_vettore( v , i+1 , d , n) ) return 0;
}
}
return 1;
}
int insert_vettore(int v[],int pos, int *d, int val)
{
if ( !(*d < SIZE) ) return 0;
int i;
for ( i = *d; i > pos ; i--)
v[i] = v[i-1];
v[pos] = val;
++*d;
return 1;
}