Originariamente inviato da LeleFT
Hai semplicemente sconfinato un po' troppo l'array!
Incrementi la variabile i invece di decrementarla, nel for in basso (istruzione in grassetto, già corretta):
codice:
#include <iostream> 
#include <stdlib.h> 

using namespace std; 

int main() { 
   char v[100]; 
   int n; 
   char succ,prec; 

   cout<<"Inserisci riempimento\n"; 
   cin>>n; 
   cout<<"Inserisci i "<<n<<" elementi\n"; 
   for(int i=0;i<n;i++) 
      cin>>v[i]; 

   cout<<"Inserisci prec\n"; 
   cin>>prec; 
   cout<<"Inserisci succ\n"; 
   cin>>succ; 
   //se lo fai con il while e' la stessa cosa while (i<n)...........else i++; 
   for(int j=0;j<n;j++) 
      if(prec==v[j]) { 
         for(int i=n;i>j;i--) 
         v[i]=v[i-1]; 
         v[j]=succ; 
         n++; 
      } 

   for(int q=0;q<n;q++) 
   cout<<v[q]; 

   system("PAUSE"); 
   return 0; 
}
Poi però non ho capito cosa intendi fare con l'istruzione n++: n è la dimensione dell'array... perchè la vai a modificare? Modificandola, il for sotto sconfina la dimensione effettiva dell'array...

Forse dovresti anche spiegare cosa dovrebbe fare il tuo programma...

PS: La prossima volta inserisci il codice fra i tag [CODE*][/CODE*] (senza gli asterischi che ho messo io).


Ciao.
No scusa....quell'errore l'ho fatto adesso ma non era quello il problema che poi ho capito cosa fosse...grazie tutti!