PDA

Visualizza la versione completa : Aiuto C++ programma su vettori!!!


carhartt_boy
09-07-2015, 16:06
salve ragazzi ,domani ho l 'esame di informatica e ho un serio problema con questo quesito chi è così gentile da aiutarmi??

"ASSEGNATI I VETTORI DI INTERI VETT1 DI CARDINALITà 12 E RIEMPIMENTO N E VETT2 DI CARDINALITà 19 E RIEMPIMENTO M,OTTENERE IL VETT3 FORMATO DALLA SOMMA DEI CORRISPONDENTI ELEMENTI DI POSTO(INDICE) PARI DI VETT1 E VETT2"

Ho provato a svolgerlo così ma niente da fare



int vett1[12],N,vett2[19],M,VAL;

do{ cout<<"inserisci riempimento vettore 1 =";cin>>N;cout<<endl;}
while (N>12);
do{ cout<<"inserisci riempimento vettore 2 =";cin>>M;cout<<endl;}
while (M>19);

for( int i=0;i<N;i++){cout<<"inserisci elemento vett 1 =";cin>>vett1[i];cout<<endl;}
for( int j=0;j<M;j++){cout<<"inserisci elemento vett 2 =";cin>>vett2[j];cout<<endl;}

cout<<"il vett1 ="<<endl;
for( int i=0;i<N;i++){cout<<" "<<vett1[i]<<endl;}
cout<<"il vett2 ="<< endl;
for( int j=0;j<M;j++){cout<<" "<<vett2[j]<<endl;}

int c=0,vett3[99];

for( int i=0;i<N;i=i+2)
for( int j=0;j<M;j=j+2){
if((i%2) && (j%2)){

vett3[c]=vett1[i]+vett2[j];}c++;}

cout<<"il vett 3 =";cout<<endl;

for( int i=0;i<c;i=i+2){
for( int j=0;j<c;j=j+2)
{cout<<vett3[c]<<endl;}
}

oregon
09-07-2015, 16:21
"niente da fare" cosa vuol dire? Spiegati meglio ...

carhartt_boy
09-07-2015, 16:27
nel senso che ,il codice che ho scritto non è giusto :( :( (quando avvio il programma mi escono numeri assurdi).
Sto provando in tutti i modi di svolgerlo ma con scarsi risultati .
Qualcuno che mi aiutiii :(

oregon
09-07-2015, 16:35
Per cominciare, usare due for non è corretto.

Usane uno solo con passo 2, così come hai scritto, limitandolo al massimo tra M e N facendo attenzione al vettore che ha meno elementi.

E per essere precisi, anche se non è determinante, il numero di elementi da prevedere in vett3 non è 99 ...

carhartt_boy
09-07-2015, 16:44
oregon,so che è abbastanza scocciante ma non potresti farmi vedere come svolgerlo??
è tutta la giornata che provo in tutti i modi a svolgerlo,anche mettendo un solo for non mi viene corretto :( :( :(

oregon
09-07-2015, 17:27
Facendo una eccezione, ti propongo un codice sperando che ti aiuti per domani anche se ho delle perplessità ...



int c=0, max=N;
if(max<M) max=M;


for(int i=0; i<max; i+=2)
{
vett3[c]=0;

if(i<N) vett3[c] += vett1[i];

if(i<M) vett3[c] += vett2[i];


c++;
}


cout<<"il vett3 ="<<endl;


for(int i=0; i<c; i++)
cout<<vett3[i]<<endl;

carhartt_boy
09-07-2015, 17:38
Grandissimo oregon,non avevo capito che bisognava fare un unico for anche per il secondo vettore :) :)
grazie mille ancora, speriamo che domani vada tutto bene :)

Loading