ciao a tutti;
sto impazzendo con questo programma che sto svolgendo in virtù della preparazione all'esame di elementi di informatica e ogni volta non mi parte per una ragione diversa!
aiutoooo!
Si scriva un metodo generaVettore che riceve in ingresso due vettori di interi positivi di uguale dimensione V1 e V2, e
restituisce un vettore di interi V3 di dimensione pari alla dimensione di V1 (V2 ) in cui la generica posizione i è così
ottenuta:
• Se i è un indice pari V3[i] = somma degli elementi di V1 con indice maggiore di i.
• Se i è un indice dispari V3[i] = prodotto degli elementi di V2 con indice maggiore di i.
• L’ultimo elemento del vettore V3 sarà invece posto uguale a 0
Ad esempio, se V1= [ 2, 5, 11, 3, 7 ] e V2= [ 1, 2, 4, 3, 2] il vettore restituito è V3 = [ 26, 24, 10, 2, 0]
----- Io ho fatto così, ma non mi parte! (perché e come dovrei fare?)--------
codice:
#include <iostream>
using namespace std;
int* generaVettore(int v1[], int v2[], int d1, int d2){
int* v3= new int [d1];
int d3=0;
for(int i=0; i<d1; i++){
if(i%2==0){
v3[i] = somma(v1,d1);
d3++;
}
else if (i%2 !=0){
v3[i]= prodotto(v2,d2);
d3++;
}
else {v3[i]=0;}
}
return v3;
}
int* somma(int v1[], int d1){
int somma=0;
d1=0;
for(int i=0; i< d1; i++){
somma+=v1[i+1];
d1++;
}
return somma;
}
int* prodotto(int v2[], int d2){
int prodotto=0;
d2=0;
for(int i=0; i<d2; i++){
prodotto *=v2[i+1];
d2++;
}
return prodotto;
}
int main(){
int v1[]={2, 5, 11, 3, 7};
int v2[]={1, 2, 4, 3, 2};
int* vrest;
vrest=generaVettore(v1,v2,d1,d2);
for (int i=0; i<5; i++){
cout<<"valore: "<<i<<" :"<<vrest[i]<<endl;
}
system("pause");
return 0;
spero siate così galanti e cortesi da aiutare una povera ragazza in difficoltà.
grazie