Ecco, avendo variato il codice, rendendo dinamico il vettore, ma splittando la parte di inserimento di dati, non funziona ed è come se "skippasse" proprio la funzione...
codice:#include <cstdio> #include <iostream> int i, n, a, j; int trovato = 0; int num; int vector2[100]; int vector1[100]; int inserimento(int n, int array[]); int main() { int *array; std::cout << "Quanti numeri: "; std::cin >> n; array= (int *) malloc (n*sizeof(int)); int inserimento(int n, int array[]); printf ("Numero da cercare: "); scanf ("%d", &num); i = 0; do { if (array[i] == num) { trovato = 1; } else { i++; } } while (trovato == 0 && i < n); if (trovato) { std::cout << std::endl << std::endl << "Trovato" << std::endl; std::cout << "L'elemento avente numero: " << array[i] << " si trova nella posizione: " << i+1 << std::endl; a=i; std::cout << std::endl << std::endl << "Stampo la lista degli elementi del primo vettore" << std::endl; for (i=0; i<a; i++) { j=i; vector1[j]=array[i]; std::cout << vector1[j] << " "; }; std::cout << std::endl << std::endl << "Stampo la lista degli elementi del secondo vettore" << std::endl; for (i=a; i<n; i++) { j=a; vector2[j]=array[i]; std::cout << vector2[j] << " "; }; } else { std::cout << "Numero non trovato" << std::endl; } std::cout << std::endl << std::endl << std::endl << std::endl; system("pause"); } int inserimento (int n, int array[]) { for (i = 0; i < n; i++) { std::cout << "Numero "<< i+1 <<" : "; std::cin >> array[i]; } }

Rispondi quotando