ciao ragazzi!!tanti auguri innanzitutto!!
ho un problema con questo programma
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");
}
vi spiego con un esempio cosa non va..
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