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':
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";
}
ma non funzia. Vorrei capire dove ho sbagliato.
P.s: non si possono usare i puntatori ma solo gli indirizzi con il &...


ciao,
antonio