Title: 2x2 Matrix Post by: ripper_george on May 10, 2008, 14:53:02 pm Λίγη Βοήθεια please με τους δυναμικούς δισδιάστατους πίνακες!
Τι λάθος έχει ο κώδικας στο τέλος?: #include <stdio.h> #include <stdlib.h> void main() { int i,j,**U,n,m,x,y; scanf("%d %d",&n,&m); U=(int**)malloc(n*sizeof(int*)); for (i=0;i<n;i++) { U=(int*)malloc(m*sizeof(int)); } printf("Enter Matrix\n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) { scanf("%d",&U[j]); } } for (i=0;i<n;i++) { printf("\n"); for (j=0;j<m;j++) { printf("%d",U[j]); } } printf("\nWhich location of the matrix to print?\n"); scanf("%d %d",&x,&y); printf("%d",*(*(U+x)+y)); } Thx in advance. Title: Re: 2x2 Matrix Post by: Γιώργος on May 10, 2008, 14:56:34 pm printf("%d",*(*(U+x)+y)); Γιατί τόσο περίπλοκο κι όχι κάτι πιο απλό όπως:Code: printf("%d", U[x][y]); Επίσης το U+x είναι λάθος γιατί προσθέτεις (int **) με int. :) Title: Re: 2x2 Matrix Post by: ripper_george on May 10, 2008, 14:57:31 pm Στην αρχή αυτό το συμβολισμό είχα αλλά έβγαζε πάλι Error....
Title: Re: 2x2 Matrix Post by: ripper_george on May 10, 2008, 15:17:15 pm Αν έλεγα:
printf("%d",*(*(U+x*sizeof(int))+y)); ???? Would it do anything??? Επίσης, ο συμβολισμός U(x)(y) δεν βγάζει σωστό αποτέλεσμα..... :( (Εννοιείται ότι είναι [] και όχι ().... απλά δεν το έβγαζε σωστά το site... Title: Re: 2x2 Matrix Post by: Nessa NetMonster on May 10, 2008, 15:37:34 pm Επίσης το U+x είναι λάθος γιατί προσθέτεις (int **) με int. :) Μπα, δεν υπάρχει πρόβλημα σ'αυτό. Κανονικά πάντως το U[x][y] δεν έπρεπε να βγάζει Error. Άρα κάπου παραπάνω έχεις λάθος. Title: Re: 2x2 Matrix Post by: Γιώργος on May 10, 2008, 15:41:20 pm Επίσης το U+x είναι λάθος γιατί προσθέτεις (int **) με int. :) Μπα, δεν υπάρχει πρόβλημα σ'αυτό. Κανονικά πάντως το U
Κάτι έχει το forum, btw, το: Code: U[x][y] Το βγάζει U[y]. :-\ Και ναι, αυτό είναι απλά αδύνατον να μην είναι σωστό. :) Title: Re: 2x2 Matrix Post by: ripper_george on May 10, 2008, 15:43:52 pm Άρα τι να κάνω για να μου εμφανίσει το στοιχείο που βρίσκετε στη χ,ψ θέση του πίνακα???
Title: Re: 2x2 Matrix Post by: Γιώργος on May 10, 2008, 15:44:52 pm Άρα τι να κάνω για να μου εμφανίσει το στοιχείο που βρίσκετε στη χ,ψ θέση του πίνακα??? Code: printf("%d", U[x][y]); Τον DEV χρησιμοποιείς, έτσι; Title: Re: 2x2 Matrix Post by: Nessa NetMonster on May 10, 2008, 15:46:26 pm Επίσης το U+x είναι λάθος γιατί προσθέτεις (int **) με int. :) Μπα, δεν υπάρχει πρόβλημα σ'αυτό. Όχι, θα σου βγάλει το επόμενο στοιχείο του πίνακα (δες σημειώσεις Κορτέση). Title: Re: 2x2 Matrix Post by: Γιώργος on May 10, 2008, 15:47:32 pm Όχι, θα σου βγάλει το επόμενο στοιχείο του πίνακα (δες σημειώσεις Κορτέση). Α ναι, γιατί αλλάζουμε θέση μνήμης. Βασικά απλά δείχνει κάποια άλλη θέση μνήμης, ανάλογα με την τιμή του x. Title: Re: 2x2 Matrix Post by: ripper_george on May 10, 2008, 15:52:51 pm Δεν έχω dev but visual studio
Ε λοιπόν μια μαλακία ήταν που μου χαλούσε το πρόγραμμα.... Σπασιμο....... Thx για την βοήθεια... |