Non capisco a cosa serva questa funzione:
codice:
int funz(int a[],int n){
int i, grande=0;
for(i=0;i<n;i++)
if(a[i]>grande){
grande=a[i];}
//in questo punto mi blocco. so qual'e' l'elem maggiore, ma nn so come faccio a fare sciftare gli altri verso sinistra
Tu devi cercare il numero maggiore ma non memorizzare il suo valore quanto la sua posizione. Io farei così:
codice:
void fun(int& a[], int n)
{
int index, max = a[0];
for(int i=0; i<n; i++)
{
if(max<a[i])
{
max = a[i];
index = i;
}
}
for(int i=index; i<n-1; i++)
a[i] = a[i+1];
}
In questo caso però non fai proprio quello che vuoi tu ovvero che se hai un input di questo tipo:
codice:
input: vet = {1,6,7,8,4,3}
output: vet = {1,6,7,4,3,3}
Per avere questo:
codice:
output: vet = {1,6,7,4,3}
che credo sia quello che ti aspetti devi ricorrere alla gestione dinamica della memoria.
P.S. Le funzione che ho scritto non so se funzionano, non l'ho compilata