malloc for sudoku.

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
alone24
Δημοσιεύσεις: 18
Εγγραφή: 14 Οκτ 2007 21:15

malloc for sudoku.

Δημοσίευση από alone24 » 29 Νοέμ 2007 20:27

ΓΕΙΑ ΣΑΣ ΚΑΙ ΠΑΛΙ,ΤΙ ΚΑΝΕΤΕ?

ΕΧΩ ΚΑΝΕΙ ΔΙΑΦΟΡΕΣ ΑΛΛΑΓΕΣ ΣΤΟΝ ΚΩΔΙΚΑ ΜΟΥ ΜΕΤΑ ΑΠΟ ΤΗΝ ΔΙΚΗ ΣΑΣ ΒΟΙΗΘΕΙΑ.ΤΩΡΑ ΜΟΥ ΚΑΝΕΙ compile ΑΛΛΑ ΔΕΝ ΔΙΑΒΑΖΕΙ ΤΟ INPUT TEXT ΠΟΥ ΤΟΥ ΒΑΖΩ.ΤΟΥ ΒΑΖΩ ΤΟ INPUT TEXT ΚΑΙ ΤΟ ΜΟΝΟ ΠΟΥ ΔΙΑΒΑΖΕΙ ΕΙΝΑΙ ΤΗΝ ΠΕΡΙΟΧΗ ΤΟΥ MALLOC;ΕΧΩ ΠΑΓΩΣΕΙ ΤΗΝ ΠΕΡΙΟΧΗ ΤΟΥ MALLOC ΑΛΛΑ ΚΑΙ ΠΑΛΙ ΔΕΝ ΜΟΥ ΔΙΑΒΑΖΕΙ ΤΟ INPUT TEXT.ΤΙ ΠΡΕΠΕΙ ΝΑ ΚΑΝΩ?


ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΑΡΑ ΠΟΛΛΗ!!
Συνημμένα
ex3-sudoku.zip
(3.81 KiB) Μεταφορτώθηκε 297 φορές

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

malloc for sudoku.

Δημοσίευση από dva_dev » 29 Νοέμ 2007 22:46

Σε 2-3 compilers που δοκίμασα να το κάνω compile δεν πέρασε από κανέναν.
Ξεκίνα διορθώνοντας αυτά:
ex3-sudoku.c(217) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
ex3-sudoku.c(214) : warning C4101: 'k' : unreferenced local variable
ex3-sudoku.c(214) : warning C4101: 'l' : unreferenced local variable
ex3-sudoku.c(264) : warning C4013: 'strlen' undefined; assuming extern returning int
ex3-sudoku.c(272) : warning C4013: 'strcpy' undefined; assuming extern returning int
ex3-sudoku.c(273) : warning C4013: 'strcat' undefined; assuming extern returning int
ex3-sudoku.c(316) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
ex3-sudoku.c(372) : error C2057: expected constant expression
ex3-sudoku.c(372) : error C2466: cannot allocate an array of constant size 0
ex3-sudoku.c(372) : error C2133: 'pin' : unknown size
ex3-sudoku.c(425) : error C2057: expected constant expression
ex3-sudoku.c(425) : error C2466: cannot allocate an array of constant size 0
ex3-sudoku.c(425) : error C2057: expected constant expression
ex3-sudoku.c(425) : error C2466: cannot allocate an array of constant size 0
ex3-sudoku.c(425) : error C2087: 'pin' : missing subscript
ex3-sudoku.c(425) : error C2057: expected constant expression
ex3-sudoku.c(425) : error C2466: cannot allocate an array of constant size 0
ex3-sudoku.c(425) : error C2087: 'pin' : missing subscript
ex3-sudoku.c(425) : error C2133: 'pin' : unknown size
ex3-sudoku.c(551) : error C2143: syntax error : missing ';' before 'type'
ex3-sudoku.c(554) : error C2143: syntax error : missing ';' before 'type'
ex3-sudoku.c(563) : error C2065: 'validEntries' : undeclared identifier
ex3-sudoku.c(583) : error C2065: 'outfilename' : undeclared identifier
ex3-sudoku.c(583) : warning C4047: '=' : 'int' differs in levels of indirection from 'char *'
ex3-sudoku.c(586) : warning C4047: 'function' : 'char *' differs in levels of indirection from 'int'
ex3-sudoku.c(586) : warning C4024: 'writePuzzle' : different types for formal and actual parameter 2
ex3-sudoku.c(589) : warning C4022: 'free' : pointer mismatch for actual parameter 1
και μετά δες το Ν που/πως παίρνει τιμές - στις διάφορες functions που το χρησιμοποιείς.

gblar
Δημοσιεύσεις: 6
Εγγραφή: 16 Οκτ 2007 20:22

malloc for sudoku.

Δημοσίευση από gblar » 29 Νοέμ 2007 23:07

Πρέπει να χρησιμοποιηθεί το malloc οπωσδήποτε. Δεν μπορεί γράφοντας μια διαδικασία που να διαβάζει που χαρακτήρες της πρώτης γραμμής και να βγάζει το Size σου sudoku .π.χ

digits =0;
while ( (chr = fgetc(fp)) != '\n'){
if ((chr == '\r') || (chr == ' ') || (chr == '\t')) {
continue;}
if (isdigit(chr))
++digits;

Όπου το αποτέλεσμα του digit θα ορίζει το N;

alone24
Δημοσιεύσεις: 18
Εγγραφή: 14 Οκτ 2007 21:15

malloc for sudoku.

Δημοσίευση από alone24 » 30 Νοέμ 2007 18:46

ΓΕΙΑ ΣΑΣ ΚΑΙ ΠΑΛΙ.

ΦΙΛΕ dva_dev ΕΓΩ ΕΧΩ ΤΟ compiler Cygwin KAI TO ΠΡΟΓΡΑΜΜΑ ΤΡΕΧΕΙ ΚΑΝΟΝΙΚΑ ΑΛΛΑ ΔΕΝ ΚΑΝΕΙ ΑΥΤΟ ΠΟΥ ΘΕΛΩ.ΨΑΧΝΩ ΝΑ ΒΡΩ ΠΟΥ ΕΧΩ ΚΑΝΕΙ ΛΑΘΟΙ ΚΑΙ ΓΙ'ΑΥΤΟ ΤΟΝ ΛΟΓΟ ΖΗΤΗΣΑ ΚΑΙ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ.ΤΩΡΑ ΦΙΛΕ gblar ΕΧΩ ΧΡΗΣΙΜΟΠΟΙΗΣΕΙ ΤΟ malloc ΣΤΟ main.ΠΡΕΠΕΙ ΝΑ ΤΟ ΔΗΛΩΣΩ ΚΑΠΟΥ ΑΛΛΟΥ?

ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΓΙΑ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ!!! :D

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

malloc for sudoku.

Δημοσίευση από Programmer » 01 Δεκ 2007 00:06

alone24 έγραψε:ΓΕΙΑ ΣΑΣ ΚΑΙ ΠΑΛΙ.

ΦΙΛΕ dva_dev ΕΓΩ ΕΧΩ ΤΟ compiler Cygwin KAI TO ΠΡΟΓΡΑΜΜΑ ΤΡΕΧΕΙ ΚΑΝΟΝΙΚΑ ΑΛΛΑ ΔΕΝ ΚΑΝΕΙ ΑΥΤΟ ΠΟΥ ΘΕΛΩ.ΨΑΧΝΩ ΝΑ ΒΡΩ ΠΟΥ ΕΧΩ ΚΑΝΕΙ ΛΑΘΟΙ ΚΑΙ ΓΙ'ΑΥΤΟ ΤΟΝ ΛΟΓΟ ΖΗΤΗΣΑ ΚΑΙ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ.ΤΩΡΑ ΦΙΛΕ gblar ΕΧΩ ΧΡΗΣΙΜΟΠΟΙΗΣΕΙ ΤΟ malloc ΣΤΟ main.ΠΡΕΠΕΙ ΝΑ ΤΟ ΔΗΛΩΣΩ ΚΑΠΟΥ ΑΛΛΟΥ?

ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΓΙΑ ΤΗΝ ΒΟΗΘΕΙΑ ΣΑΣ!!! :D
από τον τρόπο που εκφράζεσαι είναι ξεκάθαρο ότι δεν έχεις ιδέα από C, κάτι που δεν σου επιτρέπει να ασχοληθείς με μιά τέτοια εφαρμογή όπως αυτήν που επιχειρείς, ούτε να κατανοήσεις όποιες απαντήσεις σου δοθούν. Υπάρχουν τρεις λύσεις κατα την γνωμη μου ή τα παρατάς, ή μαθαίνεις την γλώσσα στον βαθμό που απαιτείται για να φτιάξεις την εφαρμογή, ή πληρώνεις για να σου την φτιάξουν. Εδώ δεν βλέπω κανένας να σου φτιάξει την ασκησή σου (εγώ σίγουρα όχι).

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27610
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

malloc for sudoku.

Δημοσίευση από cordis » 01 Δεκ 2007 00:10

παρακαλώ να εκφραζόμαστε λίγο ποιο ήπια. όλοι από το 0 ξεκινήσαμε. ;)

Ευχαριστώ.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

malloc for sudoku.

Δημοσίευση από dva_dev » 01 Δεκ 2007 10:48

Ξανακοίτα λίγο τον κώδικα σου για τα εξής πράγματα:
Στη C όλες οι δηλώσεις των local μεταβλητών πρέπει να είναι δηλωμένες στην αρχή της function πρίν οποιαδήποτε γραμμή κώδικα.
Μην χρησιμοποιείς μεταβλητές που δεν τους έχει δώσει τιμή.
Οταν δεσμεύεις μνήμη πρέπει να την ελευθερώνεις πρίν βγείς από το πρόγραμμα με exit() αλλιώς θα σε τρελάνει στα memory leaks.
Ξανακοίταξε τον κώδικα σου για τυχόν ; που μπήκαν κατά λάθος ακριβώς μετά από εντολές επανάληψης
Οταν ορίζεις κάποιος πίνακες στους οποίους ορίζεις το μέγεθος, κατά το compile πρέπει να είναι γνωστό το μέγεθος του πίνακα.

Το
int pin[100];
είναι σωστό, το
int N; // ή και με τη μορφή int N=100;
int pin[N];
είναι λάθος, αναλόγως τον compiler που χρησιμοποιείς μπορεί να σου το βγάλει η όχι
Ενεργοποίησε όλα τα warnings στο μεγαλύτερο επίπεδο που υποστηρίζει ο compiler και μην τα αγνοήσεις, πολλά από αυτά μπορεί να είναι λογικά λάθη.

Δεν ξέρω το cygwin πόσο καλό είναι αλλά - αν μου λες ότι αυτός ο κώδικας τρέχει στο μηχάνημα σου - μάλλον δεν έχει και κανέναν compiler της προκοπής.
Θα πρότεινα να χρησιμοποιήσεις την Visual C++ Express Edition (κατέβασε την από το site της Microsoft) και βάλε ρυθμίσεις να σου δείχνει όλα τα warnings (Warning Level 4).

Ακόμα και ο Borland C++ 5.5 compiler που είναι αρκετά παλιός (και δωρεάν), μπορεί κάποια πράγματα να τα βγάζει σαν warnings αλλά πρόκειται για λάθη που δεν πρέπει να αγνοηθούν γιατί θα παρουσιαστούν όταν τρέξει το πρόγραμμα.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ex3-sudoku.c:
Warning W8013 ex3-sudoku.c 57: Possible use of 'N' before definition in function completed
Warning W8013 ex3-sudoku.c 76: Possible use of 'N' before definition in function readPuzzle
Warning W8013 ex3-sudoku.c 96: Possible use of 'nl' before definition in function readPuzzle
Warning W8080 ex3-sudoku.c 107: 'c' is declared but never used in function readPuzzle
Warning W8057 ex3-sudoku.c 107: Parameter 'filename' is never used in function readPuzzle
Warning W8013 ex3-sudoku.c 129: Possible use of 'N' before definition in function writePuzzle
Warning W8013 ex3-sudoku.c 156: Possible use of 'N' before definition in function printNeatDot
Warning W8013 ex3-sudoku.c 169: Possible use of 'N' before definition in function printNeatValue
Warning W8013 ex3-sudoku.c 182: Possible use of 'N' before definition in function printNeatLockedValue
Warning W8013 ex3-sudoku.c 200: Possible use of 'N' before definition in function printLine
Warning W8013 ex3-sudoku.c 217: Possible use of 'N' before definition in function displayPuzzle
Warning W8065 ex3-sudoku.c 235: Call to function 'printNeatDot' with no prototype in function displayPuzzle
Warning W8080 ex3-sudoku.c 248: 'l' is declared but never used in function displayPuzzle
Warning W8080 ex3-sudoku.c 248: 'k' is declared but never used in function displayPuzzle
Warning W8065 ex3-sudoku.c 264: Call to function 'strlen' with no prototype in function createFilename
Warning W8065 ex3-sudoku.c 265: Call to function 'strlen' with no prototype in function createFilename
Warning W8065 ex3-sudoku.c 272: Call to function 'strcpy' with no prototype in function createFilename
Warning W8065 ex3-sudoku.c 273: Call to function 'strcat' with no prototype in function createFilename
Warning W8013 ex3-sudoku.c 292: Possible use of 'N' before definition in function isValidMove
Warning W8013 ex3-sudoku.c 352: Possible use of 'N' before definition in function isValidPuzzle
Error E2313 ex3-sudoku.c 372: Constant expression required in function solve
Warning W8013 ex3-sudoku.c 375: Possible use of 'N' before definition in function solve
Error E2313 ex3-sudoku.c 425: Constant expression required in function more_solve
Error E2313 ex3-sudoku.c 425: Constant expression required in function more_solve
Error E2313 ex3-sudoku.c 425: Constant expression required in function more_solve
Warning W8013 ex3-sudoku.c 430: Possible use of 'N' before definition in function more_solve
Warning W8013 ex3-sudoku.c 534: Possible use of 'N' before definition in function main
Error E2140 ex3-sudoku.c 551: Declaration is not allowed here in function main
Error E2140 ex3-sudoku.c 554: Declaration is not allowed here in function main
Warning W8066 ex3-sudoku.c 583: Unreachable code in function main
Warning W8004 ex3-sudoku.c 594: 'validEntries' is assigned a value that is never used in function main
Warning W8070 ex3-sudoku.c 595: Function should return a value in function main
*** 6 errors in Compile ***
[edit]
Μιας και το θυμήθηκα, κοίταξε για κώδικα που δεν μπορεί να εκτελεστεί γιατί έχεις κάνει κάτι του στύλ
εντολές
....
if (συνθήκη) {
...
return;
} else {
...
return;
}
εντολές (που δεν θα εκτελεστούν ποτέ)
...
[/edit]

[edit #2]
Η readPuzzle που παίρνει παράμετρο το filename, δεν το χρησιμοποιεί γιατί δεν ανοίγει κανένα αρχείο για διάβασμα, αλλά χρησιμοποιεί το πληκτρολόγιο.
H scanf διαβάζει από το πληκτρολόγιο και όχι από αρχείο. Χρησιμοποίησε την fscanf για ανάγνωση από αρχείο.
Στην createFilename το outfilename δεν ελέγχεις αν έχει παραμείνει NULL για κάποιο λόγο (απέτυχε το malloc).
[/edit]

Αυτά προς το παρόν, και καλή συνέχεια.

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

malloc for sudoku.

Δημοσίευση από Programmer » 01 Δεκ 2007 23:25

Είναι φανερό από τα τόσα λάθη και στραβά σημέια, ότι ο κώδικας έχει συλλεγέι από εδώ και από εκεί, ή ότι έχει τροποποιηθεί από άλλη εφαρμογή. Το μέλος που ζητάει βοήθεια είναι επίσης φανερό ότι δεν μπορεί να αξιοποιήσει την όποια βοήθεια θα του δοθέι πάνω στο θέμα. π.χ. δεν έχει νόημα να μιλάμε για sudoku αν το μέλος δεν γνωρίζει ότι οι μεταβλητές αρχικοποιούνται πριν χρησιμοποιηθούν δίνοντας την τιμή τους.
Αν θέλει κάποιος καλός σαμαρείτης να κάνει ολόκληρη την εφαρμογή (και να εισπράξει το βραβέιο της ανοιχτής παλάμης), ας το κάνει. Το να δίνουμε συμβουλές επι του sudoku σε άτομο που δεν μπορέι να τις καταλάβει και ίσως να μην ενδιαφέρεται καθόλου για την C, έιναι τζάμπα κόπος.

Για τον cygwin...
Η C κάνει λιγότερους ελέγχους από την C++. O cygwin είνια καλός compiler, αλλά η γλώσσα c περνάει εκφράσεις όπως οι
int **pptr;
int Ζ = 100;
...
pptr[y][x] = Z; (ποιο στοιχέιο του pptr δείχνει τώρα το pptr[y][x] αφού δεν είναι γνωστά τα μεγέθη των διαστάσεων;)
ενώ η C++ αυτές τις περιπτώσεις τις βγάζει λάθος, και καλά κάνει.

το int **pptr δεν είναι ακέραιος αλλά δέικτης σε δείκτη. Λογικά ακέραιος και δείκτης δεν έχουν καμία σχέση, άσχετα αν φυσικά έχουν την ίδια κωδικοποίηση και το ίδιο εύρος σε bits.

alone24
Δημοσιεύσεις: 18
Εγγραφή: 14 Οκτ 2007 21:15

malloc for sudoku.

Δημοσίευση από alone24 » 01 Δεκ 2007 23:40

ΕΥΧΑΡΙΣΤΩ ΚΥΡΙΕ PORGRAMMER ΓΙΑ ΤΑ ΚΑΛΑ ΣΟΥ ΛΟΓΙΑ.ΑΛΛΑ ΔΕΝ ΑΣΧΟΛΟΥΜΑΣΤΕ ΟΛΗ ΜΕΡΑ ΜΕ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΟΠΩΣ ΕΣΥ.ΔΕΝ ΤΑ ΜΑΘΑΙΜΟΥΜΕ ΟΛΟΙ ΑΠΟ ΤΗΝ ΓΕΝΝΗΣΗ ΜΑΣ.ΔΕΝ ΕΙΝΑΙ ΟΤΙ ΔΕΝ ΚΑΤΑΛΑΒΑΙΝΩ ΤΙ ΜΟΥ ΛΕΤΕ ΑΛΛΑ ΟΤΑΝ Ο ΧΡΟΝΟΣ ΣΕ ΠΙΕΖΕΙ ΔΕΝ ΕΧΕΙΣ ΤΟ ΧΡΟΝΟ ΝΑ ΔΕΙΣ ΑΝ ΟΛΑ ΑΥΤΑ ΠΟΥ ΜΟΥ ΛΕΤΕ ΕΙΝΑΙ ΣΩΣΤΑ.ΑΝ ΕΣΥ ΤΩΡΑ ΔΕΝ ΘΕΛΕΙΣ ΝΑ ΒΟΗΘΗΣΕΙΣ ΚΑΠΟΙΟ ΝΑ ΜΑΘΕΙ ΜΗΝ ΞΑΝΑΑΣΧΟΛΗΘΕΙΣ ΜΕ ΑΥΤΟ ΤΟ ΘΕΜΑ.ΔΕΝ ΕΙΜΑΣΤΕ ΟΛΟΙ ΕΞΥΠΝΟΙ ΟΠΩΣ ΕΣΥ!!

alone24
Δημοσιεύσεις: 18
Εγγραφή: 14 Οκτ 2007 21:15

malloc for sudoku.

Δημοσίευση από alone24 » 01 Δεκ 2007 23:46

ΓΕΙΑ ΣΑΣ ΦΙΛΟΙ ΜΟΥ dva_dev and cordis,ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΟΥ ΜΕ ΒΟΗΘΑΤΕ.ΜΕ ΕΧΕΤΕ ΒΟΗΘΗΣΕΙ ΠΑΡΑ ΠΟΛΥ ΜΕ ΑΥΤΑ ΠΟΥ ΜΟΥ ΕΙΠΑΤΕ ΚΑΙ ΕΧΩ ΦΤΙΑΞΕΙ ΕΝΑ ΚΑΙΝΟΥΡΓΙΟ ΚΩΔΙΚΑ.Ο ΚΩΔΙΚΑΣ ΜΟΥ ΤΩΡΑ ΛΥΝΕΙ ΟΛΑ ΤΑ 9Χ9 SUDOKU.ΔΕΝ ΤΟΥ ΒΑΖΩ ΝΑ ΔΙΑΒΑΖΕΙ ΑΠΟ ΚΑΠΟΙΟ ΤΕΧΤ ΑΛΛΑ ΟΤΑΝ ΤΟΥ ΒΑΛΩ ΝΑ ΛΥΣΕΙ ΑΥΤΟΜΑΤΑ ΕΝΑ ΤΕΧΤ ΠΟΥ ΕΙΝΑΙ 16Χ16 ή 4Χ4 ή 25Χ25 ΔΕΝ ΤΑ ΔΙΑΒΑΖΕΙ ΑΛΛΑ ΟΥΤΕ ΤΑ ΛΥΝΕΙ.ΤΙ ΠΡΕΠΕΙ ΝΑ ΚΑΝΩ?


ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΠΟΥ ΜΕ ΒΟΗΘΑΤΕ!!!
Συνημμένα
[1].zip
(2.35 KiB) Μεταφορτώθηκε 302 φορές

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

malloc for sudoku.

Δημοσίευση από Programmer » 02 Δεκ 2007 01:31

alone24 έγραψε:ΕΥΧΑΡΙΣΤΩ ΚΥΡΙΕ PORGRAMMER ΓΙΑ ΤΑ ΚΑΛΑ ΣΟΥ ΛΟΓΙΑ.ΑΛΛΑ ΔΕΝ ΑΣΧΟΛΟΥΜΑΣΤΕ ΟΛΗ ΜΕΡΑ ΜΕ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΟΠΩΣ ΕΣΥ.ΔΕΝ ΤΑ ΜΑΘΑΙΜΟΥΜΕ ΟΛΟΙ ΑΠΟ ΤΗΝ ΓΕΝΝΗΣΗ ΜΑΣ.ΔΕΝ ΕΙΝΑΙ ΟΤΙ ΔΕΝ ΚΑΤΑΛΑΒΑΙΝΩ ΤΙ ΜΟΥ ΛΕΤΕ ΑΛΛΑ ΟΤΑΝ Ο ΧΡΟΝΟΣ ΣΕ ΠΙΕΖΕΙ ΔΕΝ ΕΧΕΙΣ ΤΟ ΧΡΟΝΟ ΝΑ ΔΕΙΣ ΑΝ ΟΛΑ ΑΥΤΑ ΠΟΥ ΜΟΥ ΛΕΤΕ ΕΙΝΑΙ ΣΩΣΤΑ.ΑΝ ΕΣΥ ΤΩΡΑ ΔΕΝ ΘΕΛΕΙΣ ΝΑ ΒΟΗΘΗΣΕΙΣ ΚΑΠΟΙΟ ΝΑ ΜΑΘΕΙ ΜΗΝ ΞΑΝΑΑΣΧΟΛΗΘΕΙΣ ΜΕ ΑΥΤΟ ΤΟ ΘΕΜΑ.ΔΕΝ ΕΙΜΑΣΤΕ ΟΛΟΙ ΕΞΥΠΝΟΙ ΟΠΩΣ ΕΣΥ!!
Έχω την εντύπωση ότι μας δουλεύεις. Έχω δει το ίδια αρχέια με το ίδιο όνομα και σε άλλα φόρα... Μάλλον από διαφορετικά φόρα μαζεύεις ότι μαζεύεις και το βάζεις σε ένα αρχείο και φυσικά δεν λειτουργεί...
Νομίζω μας έχει πει ότι ξέρεις γλώσσα vb6, αλλά πολύ αμφιβάλλω, γιατί τα λάθη σου στον κώδικα που έχεις δημοσιέυσει δείχνουν ότι δεν έχεις ασχοληθεί με προγραμματισμό.
Έχεις πει νομίζω εσύ ότι η προθεσμία υποβολής τελέίωνε κάποιο περασμένο βράδυ... αν είναι έτσι γιατί επιμένεις? Τόσο πολύ σε ενδιαφέρει το sudoku σε text mode?

Και μιας και μας έχεις τρελάνει στα ψέματα (κατά την γνώμη μου), όπως το ότι δεν πρόσεξες τα λάθη λόγω έλλειψης χρόνου, καλύτερα να μην ξανασχοληθέις εσύ με την δημοσίευση αιτήματος λύσης των ασκήσεων σου σε αυτό το φόρουμ, από την στιγμή που εσύ δεν ασχολέισαι κάθόλου με την C! Εγώ αισθάνομαι ότι η συμπεριφορά σου προκαλεί δείχνοντας ένα άτομο πονηρό, και αντιδρώ!

Υ.Γ. Το άλλο το μέλος ο funkyjohny γέμισε τα φόρα της οικουμένης με αίτημα για λύση της άσκησης του... Και έφαγε πόρτα γι΄αυτό πληρώνει τώρα που από ότι φάινεται τα χρονικά περιθώρια στένεψαν... Αυτά για να ξέρουμε σε ποιους απαντάμε κοπιάζοντας μερικές φορές, και γιατί μας ρωτάνε... Και κάποιος πρεπει να τους πει ότι στον τόσο χρόνο που ξοδεύουν να γράφουν τα αιτήματα τους και να παρακολουθούν τις απαντήσεις στα φόρα, θα είχαν μάθει πολλά για τον προγραμματισμό αν διάβαζαν!

Programmer
Δημοσιεύσεις: 67
Εγγραφή: 22 Σεπ 2007 06:55

malloc for sudoku.

Δημοσίευση από Programmer » 02 Δεκ 2007 03:13

alone24 έγραψε:ΓΕΙΑ ΣΑΣ ΦΙΛΟΙ ΜΟΥ dva_dev and cordis,ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΟΥ ΜΕ ΒΟΗΘΑΤΕ.ΜΕ ΕΧΕΤΕ ΒΟΗΘΗΣΕΙ ΠΑΡΑ ΠΟΛΥ ΜΕ ΑΥΤΑ ΠΟΥ ΜΟΥ ΕΙΠΑΤΕ ΚΑΙ ΕΧΩ ΦΤΙΑΞΕΙ ΕΝΑ ΚΑΙΝΟΥΡΓΙΟ ΚΩΔΙΚΑ.Ο ΚΩΔΙΚΑΣ ΜΟΥ ΤΩΡΑ ΛΥΝΕΙ ΟΛΑ ΤΑ 9Χ9 SUDOKU.ΔΕΝ ΤΟΥ ΒΑΖΩ ΝΑ ΔΙΑΒΑΖΕΙ ΑΠΟ ΚΑΠΟΙΟ ΤΕΧΤ ΑΛΛΑ ΟΤΑΝ ΤΟΥ ΒΑΛΩ ΝΑ ΛΥΣΕΙ ΑΥΤΟΜΑΤΑ ΕΝΑ ΤΕΧΤ ΠΟΥ ΕΙΝΑΙ 16Χ16 ή 4Χ4 ή 25Χ25 ΔΕΝ ΤΑ ΔΙΑΒΑΖΕΙ ΑΛΛΑ ΟΥΤΕ ΤΑ ΛΥΝΕΙ.ΤΙ ΠΡΕΠΕΙ ΝΑ ΚΑΝΩ?


ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΚΑΙ ΠΑΛΙ ΠΟΥ ΜΕ ΒΟΗΘΑΤΕ!!!
Είπα να μην μην ειρωνευθώ κανέναν αλλά εσένα σου αξίζει... :evil:
Λες ότι ο κώδικας που έφτιαξες ΧΑΧΑΧΑΧΑ! λύνει όλα τα 9Χ9 sudoku...
Πως τα λύνει? αφού δεν τρέχει...
Kαι δεν έιναi δυνατό να τρέχει! Aυτός ο κώδικας που έχει το αρχείο [1].zip δεν είναi έγκυρος σε C ούτε σε C++, και είναι αδύνατο να μεταγλωττιστεί.

π.χ.
// Print the puzzle out
// Returns: None
void print_puzzle(int **puzzle, int size) {
int j,k;

for (int j = 0; j < size; j++) {
for (int k = 0; k < size - 1; k++) {
printf("%i ", puzzle[j][k]);
}
printf("%i\n", puzzle[j][size-1]);
}
}

Η παραπάνω συνάρτηση σου δεν μεταγλωττίζεται ουτε σε C ούτε σε C++! Απορώ πως γράφεις τον υπόλοιπο κώδικα αν δεν μπορείς να βρεις τα παιδαριώδη λάθη... ή μηπως δεν γράφεις τίποτα!

Το
int solve_puzzle(int **puzzle, int size) {
int r;

r = find_next_pos(puzzle, size);
// Is this a valid puzzle?
if (r.first == -2) {
return false;
}
// Was the puzzle solved?
if (r.first == -1) {
print_puzzle(puzzle, size);
return true;
}
κ.τ.λ.

μην μου πεις ότι μεταγλωττίζεται η παραπάνω συνάρτηση? :o
αναρωτιέμαι... από πότε ένας ακέραιος της C αλλά και άλλων γλωσσών είναι δομή που έχει μέλη το first και το second? για να μην σε ρωτήσω πως ξέρει ο μεταγλωττιστής το μέγεθος των διαστάσεων του πίνακα puzzle ώστε να υπολογίζει σωστά τις μετατοπίσεις που του δίνεις με τους δείκτες πίνακα...
αναρωτιέμαι...έχεις κάποια στοιχειώδη έστω σχέση με προγραμματισμό? :o

ΚΑΛΑ! ΜΕ ΑΣΧΕΤΟΥΣ ΝΟΜΙΖΕΙΣ ΟΤΙ ΜΙΛΑΣ ΩΣΤΕ ΝΑ ΤΟΥΣ ΔΟΥΛΕΥΕΙΣ?
ΣΕ ΤΙ ΑΛΛΟ ΜΠΟΡΟΫΝ ΝΑ ΣΕ ΒΟΗΘΗΣΟΥΝ ΕΚΤΟΣ ΑΠΟ ΤΟ ΝΑ ΣΟΥ ΦΤΙΑΞΟΥΝ ΑΝ ΘΕΛΟΥΝ ΟΛΗ ΤΗΝ ΑΣΚΗΣΗ? ΕΓΩ ΑΝ ΚΑΙ ΜΠΑΙΝΩ ΣΤΟΝ ΠΕΙΡΑΣΜΟ ΝΑ ΣΕ ΑΡΧΙΣΩ ΣΤΟ ΔΟΥΛΕΜΑ, ΔΕΝ ΘΑ ΣΥΝΕΧΙΣΩ, ΑΠΟ ΣΕΒΑΣΜΟ ΣΤΑ ΥΠΟΛΟΙΠΑ ΜΕΛΗ ΤΟΥ ΦΟΡΟΥΜ! ΣΕΒΑΣΟΥ ΤΟΥΣ ΚΑΙ ΕΣΥ ΚΑΙ ΑΣΕ ΤΑ ΠΑΡΑΜΥΘΙΑ!

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες