dunque questo è l'esercizio:
Prova 1
Siano assegnati in ingresso, da tastiera, due vettori di interi V1 e V2 ed un intero k.
Si scriva un programma che individui e stampi il valore val e la posizione pos del primo elemento di V1 il cui valore è maggiore dell’elemento di posto k del vettore V2.
Il programma deve essere articolato in funzioni (ad es.: input, output, trovaprimo).
Suggerimento: la funzione trovaprimo riceve in ingresso V1, V2 e k e restituisce come parametri di uscita val e pos.
Esempi
INPUT: V1 = 2 4 1 3 7 6 9 V2 = 3 4 5 12 1 6 k = 2
OUTPUT: val = 7 pos = 4
INPUT: V1 = 2 4 1 3 7 6 9 V2 = 3 4 5 12 1 6 k = 0
OUTPUT: val = 4 pos = 1
l'ho provato a fare cosi':
ma non funzia. Vorrei capire dove ho sbagliato.codice:#include <stdlib.h> #include <iostream> using namespace std; void input(int v[]); void trovaprimo (int v1[], int v2[],int &val,int &pos,int k); void output (int val, int pos); int main() { int v1[7], v2[7]; int k; int val,pos; cout<< "inserire i valori del primo vettore\n\n\n"; input(v1); cout <<"inserire i valori del secondo vettore\n\n\n"; input(v2); cout << "inserire un valore intero\n"; cin>>k; trovaprimo(v1,v2,val,pos,k); output(val,pos); system("PAUSE"); return 0; } void input (int v[]) { int i; for (i=0;i<7;i++) cin>>v[i]; } void trovaprimo (int v1[], int v2[],int &val,int &pos,int k) { int i,j; j=0; v2[k]=i; while (v1[j]<=i) { j++; } val=v1[j]; pos=j; } void output (int val,int pos) { cout <<"il valore cercato è " << val << "e si trova nella posizione" << pos; cout <<"\n\n"; }
P.s: non si possono usare i puntatori ma solo gli indirizzi con il &...
ciao,
antonio

