freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

C περίεργα αποτελέσματα


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [11 Μηνύματα]      Bookmarks Tags: αποτελέσματαπεριεργαπινακας Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 09:07    Θέμα: C περίεργα αποτελέσματα
Περιγραφή θέματος: Αντίστροφος πίνακας
Απάντηση με παράθεση  Mark this post and the followings unread

οκ το έφτιαξα ευχαριστώ

Last edited by gianpan on 03 Ιουν 2009 20:16, edited 1 time in total
alex599


Μέλος από: 17 Δεκ 2008
Βοηθήματα: 3
Μηνύματα: 66

Περιοχή: Πάτρα
View users profile Send email to user
ΜήνυμαΣτις: 03 Ιουν 2009 10:34    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

ένα πρώτο λάθος είναι στην δημιουργία του πίνακα, τσέκαρε το και αν έχεις πάλι πρόβλημα πες..

_________________
while(!dead()) ++knowledge;
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 13:21    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

σε αυτά αναφέρεσε;;

κώδικας:
matrix[i] = malloc(sizeof(int*)*size);

αντι για int*, int;
Όμοια για το double.

Ή έχω κάνει καμία χοντράδα άλλη ;
edit : αυτό πάντως δε βοήθησε (αναμενομενο ήταν δλδ)
alex599


Μέλος από: 17 Δεκ 2008
Βοηθήματα: 3
Μηνύματα: 66

Περιοχή: Πάτρα
View users profile Send email to user
ΜήνυμαΣτις: 03 Ιουν 2009 15:28    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

παράθεση:
for (i=0; i < size; i++)
{
for (j = 0 ; j< size; j++)
{
if (i==j)
{
augMatrix[i][j] = 1;
}
else
{
augMatrix[i][j] = 0;
}
}
tempMatrix[i][j] = array[i][j];
}


γτ το tempMatrix[i][j]=array[i][j]; το χεις εκτός της for του j??δεν παίζει έτσι...

_________________
while(!dead()) ++knowledge;
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 16:14    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

α αυτό εννούσες στη δημιουργία εγώ κοίταγα της malloc μου!

εχεις απόλυτο δίκαιο αλλά και πάλι έχει πρόβλημα

_________________
http://www.sourcecode.gr
alex599


Μέλος από: 17 Δεκ 2008
Βοηθήματα: 3
Μηνύματα: 66

Περιοχή: Πάτρα
View users profile Send email to user
ΜήνυμαΣτις: 03 Ιουν 2009 16:17    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

gianpan ανέφερε:
α αυτό εννούσες στη δημιουργία εγώ κοίταγα της malloc μου!

εχεις απόλυτο δίκαιο αλλά και πάλι έχει πρόβλημα


και τη malloc αλλά και το δεύτερο που σου είπα...απλά την πρώτη φορά το κοίταξα γρήγορα και είδα το λάθος της malloc όπου βάζεις δείκτες. Μετά κοίταξα και πιο κάτω όπου κάνεις αυτό με το for.

Δύο λάθη...

_________________
while(!dead()) ++knowledge;
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 16:31    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

alex599 ανέφερε:
gianpan ανέφερε:
α αυτό εννούσες στη δημιουργία εγώ κοίταγα της malloc μου!

εχεις απόλυτο δίκαιο αλλά και πάλι έχει πρόβλημα


και τη malloc αλλά και το δεύτερο που σου είπα...απλά την πρώτη φορά το κοίταξα γρήγορα και είδα το λάθος της malloc όπου βάζεις δείκτες. Μετά κοίταξα και πιο κάτω όπου κάνεις αυτό με το for.

Δύο λάθη...

αυτό με τη malloc πρέπει να μου κόβε μερικά ψηφία μάλλον. Ευχαριστώ πάντως, θα το κοιτάξω και εγώ ξανά να δω τι έχει γίνει...
alex599


Μέλος από: 17 Δεκ 2008
Βοηθήματα: 3
Μηνύματα: 66

Περιοχή: Πάτρα
View users profile Send email to user
ΜήνυμαΣτις: 03 Ιουν 2009 16:33    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

ουσιαστικά δημιουργούσες δισδιάστατο πίνακα από δείκτες, δλδ περίμενε να μπούν δείκτες ενώ βάζεις ακέραιους αριθμούς κάτι που είναι λάθος!!

Μην ξεχνάς ότι σε έναν δείκτη βάζουμε τιμή ως

pointer=&variable

δηλαδή την διεύθυνση!

_________________
while(!dead()) ++knowledge;
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 17:09    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

χμμ κάτσε εγώ του ζήτησα μέγεθος ίσο με αυτό ενός δείκτη (Επι το size) δεν του είπα οτι θα βάλω δείκτες μέσα.

Η malloc μου γυρνάει ένα δείκτη σε void οπότε ουσιαστικά μου επιτρέπει να βάλω οτι θέλω στη μνήμη μου;

Ε;

_________________
http://www.sourcecode.gr
alex599


Μέλος από: 17 Δεκ 2008
Βοηθήματα: 3
Μηνύματα: 66

Περιοχή: Πάτρα
View users profile Send email to user
ΜήνυμαΣτις: 03 Ιουν 2009 17:14    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Η χρήση της malloc():

int *pointer;
pointer=(int *)malloc(20*sizeof(int));

έτσι πλέον έχεις έναν μονοδιάστατο πίνακα των 20 θέσεων που παίρνει ακέραιους αριθμούς.

Δημιουργία δισδιάστατου:

int **table,N,M,i;
table=(int **)malloc(N*sizeof(int *);
for (i=0;i<N;i++){
*(table+i)=(int *)malloc(M*sizeof(int));
}

έτσι έχεις πλέον τον δισδιάστατο table[N][M].

sorry που δεν τα έβαλα σε κώδικα....

_________________
while(!dead()) ++knowledge;
gianpan


Μέλος από: 03 Ιουν 2006
Μηνύματα: 256+

View users profile Visit posters website
blog 
ΜήνυμαΣτις: 03 Ιουν 2009 18:16    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

τεσπα έχει προβλήματα στη λογική ο κώδικας, όταν το διορθώσω με το καλό θα βάλω την σωστή version.

_________________
http://www.sourcecode.gr
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [11 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 08 Δεκ 2016 02:04 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos