ciao ragazzi!!tanti auguri innanzitutto!!
ho un problema con questo programma
vi spiego con un esempio cosa non va..codice:#include <cstdlib> #include <iostream> using namespace std; #define N 6 typedef int vettore [N]; vettore v; void inserimento(int&, vettore); void inserimento(int&num_elem,vettore v){ int i; int k; cout<< "\n quanti elementi vuoi inserire? "; cin>> num_elem; for(i=0;i<num_elem;i++){ cout<< "\n inserisci il valore dell'elemento " <<i+1<< " = "; cin>>v[i]; } cout<<"\n quanti elementi del vettore vuoi scambiare?"; cin>>k; for(int i=0;i<k;i++){ cout<< "\n in che posizione si trova il" << i+1<<"elemento che vuoi scambiare?"; cin>>i; cout<<v[i]<<" "; } cout<<endl; } int main() { int num_elem; inserimento(num_elem, v); system("pause"); }
inserisco 3 elementi
4 5 6
decido che voglio scambiare la posizione di due elementi del vettore,quindi k=2..
mi chiede in che posizione è il primo elemento che voglio scambiare
dico ad esempio 0
e mi dice che l'elemento è 4,e il programma si ferma.. ma k è uguale 2, il programma dovrebbe continuare e fare la domanda: in che posizione è il secondo elemento che voglio scambiare..ma questo non succede
è come se il secondo ciclo for non funzionasse..e non capisco perchè..mi da date una mano?
grazie a tutti

Rispondi quotando