flapane
14-09-2008, 22:47
Non so cosa mi sfugga, ma l'output Il valore val è -1881133976 e la posizione è 13440 mi fa pensare che siano problemi di inizializzazione...
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.
#include <iostream>
#include <stdlib.h>
using namespace std;
void input (int vett1[], int vett2[], int riemp, int kpos);
void output (int valore, int posizione);
void trovaprimo (int vett1[], int vett2[], int riemp, int kpos, int valore, int posizione);
int main()
{
int v1[20],v2[20],n,k,val,pos;
input (v1,v2,n,k);
trovaprimo (v1,v2,n,k,val,pos);
output (val,pos);
cout<<"\n\n";
return 0;
}
void input (int vett1[], int vett2[], int riemp, int kpos)
{ int i;
cout<<"Assegna valore int al numero n di elementi dei due vettori \n";
cin>>riemp;
cout<<"Assegna "<<riemp<<" elementi al vettore V1 \n";
for (i=0;i<riemp;i++)
{ cin>>vett1[i];
}
cout<<"Assegna "<<riemp<<" elementi al vettore V2 \n";
for (i=0;i<riemp;i++)
{ cin>>vett2[i];
}
cout<<"Scegliere il posto k del vettore V2 \n";
cin>>kpos;
}
void trovaprimo (int vett1[], int vett2[], int riemp, int kpos, int valore, int posizione)
{ int i;
valore=vett1[0]; posizione=0;
for (i=0;i<riemp;i++)
{ if (vett1[i]>vett2[kpos])
{ valore=vett1[i];
posizione=i;
}
}
}
void output (int valore, int posizione)
{
cout<<"Il valore val è "<<valore<<" e la posizione è "<<posizione;
}
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.
#include <iostream>
#include <stdlib.h>
using namespace std;
void input (int vett1[], int vett2[], int riemp, int kpos);
void output (int valore, int posizione);
void trovaprimo (int vett1[], int vett2[], int riemp, int kpos, int valore, int posizione);
int main()
{
int v1[20],v2[20],n,k,val,pos;
input (v1,v2,n,k);
trovaprimo (v1,v2,n,k,val,pos);
output (val,pos);
cout<<"\n\n";
return 0;
}
void input (int vett1[], int vett2[], int riemp, int kpos)
{ int i;
cout<<"Assegna valore int al numero n di elementi dei due vettori \n";
cin>>riemp;
cout<<"Assegna "<<riemp<<" elementi al vettore V1 \n";
for (i=0;i<riemp;i++)
{ cin>>vett1[i];
}
cout<<"Assegna "<<riemp<<" elementi al vettore V2 \n";
for (i=0;i<riemp;i++)
{ cin>>vett2[i];
}
cout<<"Scegliere il posto k del vettore V2 \n";
cin>>kpos;
}
void trovaprimo (int vett1[], int vett2[], int riemp, int kpos, int valore, int posizione)
{ int i;
valore=vett1[0]; posizione=0;
for (i=0;i<riemp;i++)
{ if (vett1[i]>vett2[kpos])
{ valore=vett1[i];
posizione=i;
}
}
}
void output (int valore, int posizione)
{
cout<<"Il valore val è "<<valore<<" e la posizione è "<<posizione;
}