vasgen Δημοσ. 5 Μαρτίου 2012 Δημοσ. 5 Μαρτίου 2012 ΚΑλησπερα, Εχω δυο ερωτησεις να κανω ως αναφορα τον πολλαπλασιαμο πινακων, η πρωτη εχει να κανει με εστω εναν πινακα 3*3 οπου θελω να πολλαπλασιασω καθε στοιχειο του πινακα με εναν αριθμο, εχω κανει τα παρακατω αλλα το αποτελεσμα που βγαζω δεν ειναι λογικο.. > int size; cin>> size; float graph_d[size][size]; float graph[size][size]; float b=0.9; for(int i=0;i<size;i++) for(int j=0;j<size;i++) graph_d[i][j]=graph[i][j]*b; for(int i=0;i<size;i++) for(int j=0;j<size;i++) cout<<graph[i][j]; και η δευτερη ερωτηση εχει να κανει με τον πολλαπλασιασμο ενος π.χ. 3*3 με εναν μονοδιαστατο 3 θεσεων τον οποίο τραβαω απο εναν δυσδιαστατο για καθε ολοκληρωση και των δυο for. > int rep=4; int k=0; while(k<=rep) { for(int i=0;i<size;i++) for(int j=0;j<size;i++) graph_d_w[i][j]=graph_d[i][j]*W[k][j]; k++; } for(int i=0;i<size;i++) for(int j=0;j<size;i++) cout<<graph_d_w[i][j]; Καμια βοηθεια για το που υπαρχει λαθος?? Κατάλαβα το πρώτο μου πρόβλημα ποιο είναι.. οπού ο πινάκας μου έχει μηδενικά γιατί είναι δυαδικός πινάκας, το αποτέλεσμα που μου βγάζει είναι αυτό -1.07374ε+008 αντί για μηδέν. Μπορεί κάποιος να με βοηθήσει σε αυτό ?? Πως μπορώ δλδ να εμφανίζω 0 αντι για το παραπανω..?? Το πρώτο πρόβλημα μου είναι το εξής επειδή ο πίνακας είναι δυαδικός οπού υπάρχει 0 μετά τον πολλαπλασιασμό παίρνω το εξής αποτέλεσμα αντί για μηδέν όπως φαίνεται και στην εικόνα -1.07374ε+008.. Έχει κάνεις καμιά ιδέα?? Εδω είναι και η εικόνα..
ggeo1 Δημοσ. 5 Μαρτίου 2012 Δημοσ. 5 Μαρτίου 2012 Καταρχήν και στους 2 κώδικες έχεις for(int j=0;j<size;i++) Άλλαξέ το με j++
vasgen Δημοσ. 5 Μαρτίου 2012 Μέλος Δημοσ. 5 Μαρτίου 2012 Εχεις δικιο απλα δεν ειναι ετσι στον κανονικο κωδικα απλα εκανα λαθος εγω επειδη δεν ειναι copy απο τον κανονικο..
CtrlFreak Δημοσ. 5 Μαρτίου 2012 Δημοσ. 5 Μαρτίου 2012 Για το πρώτο πρόβλημα, πολλαπλασιάζεις graph_d[j]=graph[j]*b; παρόλα αυτά ξέρεις τι πολλαπλασιάζεις?? Θέλω να πω πως ο πίνακας graph[j] έχει τυχαίες τιμές, σκουπίδια, αφού δεν έχει αρχικοποιηθεί. Ίσως κάνω και λάθος, κάποιος πιο έμπειρος θα στα πει καλύτερα. Και στην δεύτερη for, στο πρώτο πρόβλημα πάλι εμφανίζεις όχι το αποτέλεσμα αλλά τις τυχαίες τιμές του πίνακα graph[j].
ggeo1 Δημοσ. 5 Μαρτίου 2012 Δημοσ. 5 Μαρτίου 2012 Για το πρώτο πρόβλημα, πολλαπλασιάζεις graph_d[j]=graph[j]*b; παρόλα αυτά ξέρεις τι πολλαπλασιάζεις?? Θέλω να πω πως ο πίνακας graph[j] έχει τυχαίες τιμές, σκουπίδια, αφού δεν έχει αρχικοποιηθεί. Ίσως κάνω και λάθος, κάποιος πιο έμπειρος θα στα πει καλύτερα. Σωστά,δεν κάνεις initialize τον πίνακά σου.
vasgen Δημοσ. 5 Μαρτίου 2012 Μέλος Δημοσ. 5 Μαρτίου 2012 Έχετε δίκιο για την αρχικοποίηση.. Καμία ιδέα για το δεύτερο ερώτημα??
παπι Δημοσ. 5 Μαρτίου 2012 Δημοσ. 5 Μαρτίου 2012 Με βαση wiki Εχουμε >int main() { float m2x2A[2][2] = { { 1.0f, 4.4f }, { 2.2f, 8.2f } }; float m2x2B[2][2] = { { 0.1f,0.3f}, {4.0f,2.0f} }; float m2x2R[2][2] = { {0.0f} }; float m2A[2] = {0.1f,1.2f}; float m2R[2] = { 0.0f}; //mul m2x2 * m2x2 for(int i =0; i < 2; i++) for(int j = 0; j < 2 ; j++) for(int k = 0; k < 2; k++) m2x2R[j][i] += m2x2B[k][i] * m2x2A[j][k]; //mul v * m2x2 for(int i =0; i < 2; i++) for(int j = 0; j < 2 ; j++) m2R[i] += m2x2R[i][j] * m2A[j]; return 0; }
Moderators Spect~ Δημοσ. 5 Μαρτίου 2012 Moderators Δημοσ. 5 Μαρτίου 2012 αυτο προοριζεται για ασκηση μαθηματικων? αν ναι πανω σε τι ακριβως
vasgen Δημοσ. 5 Μαρτίου 2012 Μέλος Δημοσ. 5 Μαρτίου 2012 Οχι, ειναι κομματια απο μια μικρογραφια του αλγοριθμου της Google για γραφους και οχι για ιστοσελιδες
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα