PDA

Visualizza la versione completa : [C++] Somma degli elementi di vettori riscritta in altro vettore


fabdeg2010
17-05-2007, 09:34
Siano dati in ingresso il riempimento n e i valori di 2 vettori v1 e v2 ed inoltre un intero k.Si scriva un programma che verifichi che per ogni coppia di elementi omologhi di v1 e v2 se la loro somma>11.In caso affermativo si riscrivi il valore della loro somma in un vettore v3 lo si ordini e lo si stampi.

io ho provato a svolgerlo cosi ma nn mi gira e nn mi convince per niente perche nn so come esprimere la funzione somma...
svolgimento:
#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v1[],int v2[],int k,int n);
{int i;
int j;
int v1[],v2[];
int k;
int n;
cout<<"inserisci il riempimento dei 2 vettori\n";
cin>>n;
cout<<"inserisci i valori di v1 e di v2\n";
for(i=0,i<6,i++)
cin>>v1[i];
for(j=0,j<6,j++)
cin>>v2[j];
cout<<"attribuisci un valore a k";
cin>>k;
}
void somma(int v1[],int v2[],int v3[],int k,int&som);
{int v1[6],v2[6],v3[];
int k;
int i=0;
int j=0;
som=(i+j);
if (som>11)
v3[]=som;
else v3[]=0;
}
void output(int v3[]);
{int i=0;
int j=0;
cout<<"v3=\n"<<v3;
for (som=0,som>11,som++)
cout<<v3[];
}
int main()
{int v1[6],v2[6],v3[];
int n;
int k;
int som;
cout<<"inserimento dati:\n";
input(v1,v2,n,k);
somma(v1,v2,v3,som,k);
output(v3)
system("PAUSE");
return 0;
}

bigmickey
17-05-2007, 09:47
fosse solo quello il problema...
cosė a prima vista vedo ";" nelle definizioni delle funzioni (non sono prototipi)
vettori di interi dichiarati senza dimensione
e cose strane tipo.... v3[]=0;
poi che fai? passi i parametri alle funzioni e le dichiari all' interno delle stesse?

Almeno queste cose rivedile e posta il codice con gli appositi tag,
chissā si capisce qualcosa in piu.

fabdeg2010
17-05-2007, 10:00
si ma io nn so quanti elementi avra il vettore v3....

oregon
17-05-2007, 10:02
A parte quello che ti ha detto bigmickey, scusa ma altre volte hai postato simili problemi (con funzioni del tutto analoghe) e ti ho anche risposto proponendoti del codice.

Perche' non prendi spunto dal codice che ti ho proposto per evitare gli errori che fai, sempre uguali, in ogni codice che sottoponi?

Insomma ... non vedo alcuna "assimilazione" di quanto suggerito in altri thread simili che hai aperto in precedenza ... rileggili e studiali ...!

fabdeg2010
17-05-2007, 10:24
la dimensione di v3 come la devo indicare?

oregon
17-05-2007, 10:34
Originariamente inviato da fabdeg2010
la dimensione di v3 come la devo indicare?

Riflettici ... date le specifiche del compito, "al massimo" quanto potrebbe essere grande v3 (ovvero, nel peggiore dei casi)?

P.S. Comunque, il codice continuera' a non essere compilato se non fai attenzione ai problemi spiccioli di "sintassi" ...

fabdeg2010
17-05-2007, 10:38
#include<iostream>
#include<stdlib.h>
using namespace std;
void input(int v1[],int v2[],int k,int n);
{int i;
int j;
int v1[],v2[];
int k;
int n;
cout<<"inserisci il riempimento dei 2 vettori\n";
cin>>n;
cout<<"inserisci i valori di v1 e di v2\n";
for(i=0,i<6,i++)
cin>>v1[i];
for(j=0,j<6,j++)
cin>>v2[j];
cout<<"attribuisci un valore a k";
cin>>k;
}
void somma(int v1[],int v2[],int v3[],int k,int&som);
{int v1[6],v2[6],v3[];
int k;
int i=0;
int j=0;
som=(v1[i]+v2[j]);
if (som>11)
v3=som;
else v3=0;
}
void output(int v3[]);
{int i=0;
int j=0;
cout<<"v3=\n"<<v3;
for (som=0,som>11,som++)
cout<<v3;
}
int main()
{int v1[6],v2[6],v3[];
int n;
int k;
int som;
cout<<"inserimento dati:\n";
input(v1,v2,n,k);
somma(v1,v2,v3,som,k);
output(v3)
system("PAUSE");
return 0;
}

fabdeg2010
17-05-2007, 10:40
dunque v3 puo essere al max di dim 6 ma nn č detto che tutte le somme
siano maggiori di 11...

oregon
17-05-2007, 10:49
Originariamente inviato da fabdeg2010
dunque v3 puo essere al max di dim 6

Dove e' scritto che gli altri vettori sono di 6 elementi?



ma nn č detto che tutte le somme
siano maggiori di 11...

Non e' importante ... ma cosi' ti assicuri che v3 sia comunque grande abbastanza ...

(a meno che tu non abbia gia' affrontato l'argomento dell'allocazione dinamica della memoria ...)

fabdeg2010
17-05-2007, 10:59
scusami ho dichiarato v1 e v2 di dim 6 pero in riga 7 e 8 mi da errori e nn capisco il perche nella dichiarazione delle dimensioni

Loading