papakos12 Δημοσ. 28 Απριλίου 2013 Δημοσ. 28 Απριλίου 2013 #include<iostream>using namespace std;int main(){int i=0,j=0,metritis=0;int n, m, nozera, nozerb, nozerc, counter=0;int *rowa, *columna, *rowb, *columnb;double x, z;double *elementsa, *elementsb;// διάβασε συντεταγμένες και για τους δύο πίνακες Α και Βcout<<"give tha number of rows";cin>>n;cout<<"give tha number of columns";cin>>m;// ο χρήστης δίνει το πλήθος τον μη μηδενικών στοιχείων// για τον πίνακα Αcout<<"give the number of no zero elements in array A";cin>>nozera;//ο χρήστης δίνει το πλήθος των μη μηδενικών στοιχείων για τον//πίνακα Βcout<<"give the number of no zero elements in array B";cin>>nozerb;rowa = new int(nozera);columna = new int(nozera);elementsa = new double(nozera);rowb = new int(nozerb);columnb = new int(nozerb);elementsb = new double(nozerb);//για τον πίνακα Α η δημιουργία των 3 μονοδιάστατων πινάκωνfor (int i=0;i<n;i++) { for(int j=0;j<m;j++) { cout<<"give tha value of element A["<<i<<"]["<<j<<"]"; cin>>x; if (x!=0) { rowa[counter]=i; columna[counter]=j; elementsa[counter]=x; counter++; } } }//Για τον πίνακα Β η δημιουργία των 3 μονοδιάστατων πινάκωνcounter=0;for (int i=0; i<n ;i++) { for(int j=0; j<m; j++) { cout<<"give the value of element B["<<i<<"]["<<j<<"]"; cin>>z; if (z!=0) { rowb[counter]=i; columnb[counter]=j; elementsb[counter]=z; counter++; } } }//Μέσα από αυτή την επανάληψη βρίσκουμε το μέγεθος//του πίνακα που θα βάλουμε το άθροισμαmetritis=0;while((i < nozera) && (j < nozerb)) { if(rowa < rowb[j]) { i++; } else if (rowa == rowb[j]) { if(columna == columnb[j]) { metritis++; i++; j++; } else if(columna<columnb[j]) { i++; } else { j++; } } else { j++; }}nozerc = (nozera+nozerb-metritis);//Εδώ κάνουμε την πρόσθεση των στοιχείων που πρέπει και την καταχωρούμε στο πίνακαint *rowc, *columnc;double *finalelement;rowc = new int(nozerc);columnc = new int(nozerc);finalelement = new double(nozerc);int l=0;j=0;i=0;while((i < nozera) && (j < nozerb)){if(rowa<rowb[j]) { i++; }else if (rowa == rowb[j]){ if(columna == columnb[j]) { finalelement[l]=elementsa+elementsb[j]; rowc[l]=rowa; columnc[l]=columna[j]; i++; j++; l++; } else if(columna<columnb[j]) { finalelement[l]=elementsa; rowc[l]=rowa; columnc[l]=columna[j]; l++; i++; } else { finalelement[l]=elementsb[j]; rowc[l]=rowb[j]; columnc[l]=columnb[j]; l++; j++; }}else { j++; }}metritis=0;for(i=0;i<n;i++) { cout<<endl; for(j=0;j<m;j++) { if(i=rowc) { if(j=columnc[j]) { cout<<finalelement[metritis]; metritis++; cout<<""; } else { cout<<"0"; } } else { cout<<"0"; cout<<""; } } }return 0;} #include<iostream>using namespace std;int main(){int i=0,j=0,metritis=0;int n, m, nozera, nozerb, nozerc, counter=0;int *rowa, *columna, *rowb, *columnb;double x, z;double *elementsa, *elementsb;// διάβασε συντεταγμένες και για τους δύο πίνακες Α και Βcout<<"give tha number of rows";cin>>n;cout<<"give tha number of columns";cin>>m;// ο χρήστης δίνει το πλήθος τον μη μηδενικών στοιχείων// για τον πίνακα Αcout<<"give the number of no zero elements in array A";cin>>nozera;//ο χρήστης δίνει το πλήθος των μη μηδενικών στοιχείων για τον//πίνακα Βcout<<"give the number of no zero elements in array B";cin>>nozerb;rowa = new int(nozera);columna = new int(nozera);elementsa = new double(nozera);rowb = new int(nozerb);columnb = new int(nozerb);elementsb = new double(nozerb);//για τον πίνακα Α η δημιουργία των 3 μονοδιάστατων πινάκωνfor (int i=0;i<n;i++) { for(int j=0;j<m;j++) { cout<<"give tha value of element A["<<i<<"]["<<j<<"]"; cin>>x; if (x!=0) { rowa[counter]=i; columna[counter]=j; elementsa[counter]=x; counter++; } } }//Για τον πίνακα Β η δημιουργία των 3 μονοδιάστατων πινάκωνcounter=0;for (int i=0; i<n ;i++) { for(int j=0; j<m; j++) { cout<<"give the value of element B["<<i<<"]["<<j<<"]"; cin>>z; if (z!=0) { rowb[counter]=i; columnb[counter]=j; elementsb[counter]=z; counter++; } } }//Μέσα από αυτή την επανάληψη βρίσκουμε το μέγεθος//του πίνακα που θα βάλουμε το άθροισμαmetritis=0;while((i < nozera) && (j < nozerb)) { if(rowa < rowb[j]) { i++; } else if (rowa == rowb[j]) { if(columna == columnb[j]) { metritis++; i++; j++; } else if(columna<columnb[j]) { i++; } else { j++; } } else { j++; }}nozerc = (nozera+nozerb-metritis);//Εδώ κάνουμε την πρόσθεση των στοιχείων που πρέπει και την καταχωρούμε στο πίνακαint *rowc, *columnc;double *finalelement;rowc = new int(nozerc);columnc = new int(nozerc);finalelement = new double(nozerc);int l=0;j=0;i=0;while((i < nozera) && (j < nozerb)){if(rowa<rowb[j]) { i++; }else if (rowa == rowb[j]){ if(columna == columnb[j]) { finalelement[l]=elementsa+elementsb[j]; rowc[l]=rowa; columnc[l]=columna[j]; i++; j++; l++; } else if(columna<columnb[j]) { finalelement[l]=elementsa; rowc[l]=rowa; columnc[l]=columna[j]; l++; i++; } else { finalelement[l]=elementsb[j]; rowc[l]=rowb[j]; columnc[l]=columnb[j]; l++; j++; }}else { j++; }}metritis=0;for(i=0;i<n;i++) { cout<<endl; for(j=0;j<m;j++) { if(i=rowc) { if(j=columnc[j]) { cout<<finalelement[metritis]; metritis++; cout<<""; } else { cout<<"0"; } } else { cout<<"0"; cout<<""; } } }return 0;} όταν τρέχω το πρόγραμμα στην φόρτωση του δεύτερου πίνακα κρασάρη στην εισάγωγη του τρίτου στοιχείου ....
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα