Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 17 Φεβ 2012, 17:03

Star_Light έγραψε:migf1 εφοσον ο κώδικας που έχω δουλεύει τοτε το μονο λαθος που θα γινει αν γινει θα ειναι στο σημειο
με την calloc αρα θα κοιτάζω μονο αυτα για να το βρω... και οχι ολο τον κωδικα απο την αρχη

+ οτι θα το δω πλαισιωμενο κατα καποιο τροπο... δεν ξερω εγω ιδεες ριχνω .

Εξακολουθώ να μην καταλαβαίνω πως είναι δυνατόν να θεωρείς καλύτερο για την εκμάθησή σου το να υλοποιήσεις πρώτα έναν σύνθετο πρόβλημα (που δεν θα το υλοποιήσεις) αντί για ένα απλούστερο (που επίσης δεν θα υλοποιήσεις).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 17 Φεβ 2012, 17:33

ρε συ η εκφωνηση που δινεις εδω ->

migf1 έγραψε:Τώρα, σχετικά με την άσκηση, αν αποφασίσεις να την κάνεις (δηλαδή για το διάβασμα ανεξαρτήτως πλήθους χαρακτήρων) η βασική ιδέα είναι δημιουργήσεις δυναμικά ένα string π.χ. 16 χαρακτήρων, και όταν ο χρήστης φτάσει στον 15ο, τότε να κάνεις realloc() το string για άλλους 16 χαρακτήρες (δηλαδή 32 συνολικά), και πάει λέγοντας, μέχρι να πατήσει ENTER.

Ή μπορείς να κάνεις realloc() το διπλάσιο από όσο έχεις ήδη διαβάσει, ή το 1/3 του, κλπ.


ουσιαστικα χρησιμοποιει 1 calloc , 1 realloc και την συνάρτηση που σου έδωσα σημερα. Ετσι δεν ειναι?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 17 Φεβ 2012, 17:48

Προσπάθησε να κάνεις την άσκηση, κι αν κολλήσεις ποστάρισε τον κώδικα που έχεις γράψει για να δούμε που έχει λάθος.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 17 Φεβ 2012, 17:57

Off topic:
Υπάρχει περίπτωση κάποιος admin να ενσωματώσει έναν syntax-highlighter στο φόρουμ για κώδικες γλωσσών προγραμματισμού; Είναι κρίμα να καταφεύγουμε σε άλλες σελίδες για να δείξουμε σωστά στοιχισμένο και ευανάγνωστο κώδικα εδώ στο φόρουμ.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 17 Φεβ 2012, 18:47

Λοιπον οκ! Εφυγα για την ασκηση... I' ll back soon ;)
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 17 Φεβ 2012, 19:03

migf1 εχω αυτο εδω το προβλημα :

Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Display_reverse(char *s , int len);

int main()
{

char *s = {'\0'};
int len;


printf("Give the len: ");
scanf("%d" , &len);

printf(" Give a string : ");

s= calloc( len , sizeof(char));

fgets(s,len,stdin);
Display_reverse(s , len);

return 0;
}
//----------------------------------------------------------------------
void Display_reverse(char *s , int len)
{
char *cp;

for(cp = s; *cp!='\0' && *cp!='\n' && *cp!=len; cp++)

putchar(*cp);

puts("\n");

return;
}


σταματαει στο "Give a string" και δεν κανει τιποτε αλλο. Τι φταιει?
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό stamatiou » 17 Φεβ 2012, 19:15

Εγώ έχω ένα κόλλημα στου Καίσαρα....
Δουλεύει αλλά σχεδόν κατά τύχη...
Το πρώτο λάθος μου ήταν ότι δεν είχα βάλει τη cypher να τοποθετεί NULL χαρακτήρα αλλά μετά στο τέλος του array μου είχε και ένα χαρακτήρα με αριθμό 200 κάτι. Έτσι έβαλα τον NULL να τοποθετέιται στη θέση αυτού του χαρακτήρα:
http://ideone.com/zUoWj
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Star_Light » 17 Φεβ 2012, 19:20

stamatiou έγραψε:Εγώ έχω ένα κόλλημα στου Καίσαρα....
Δουλεύει αλλά σχεδόν κατά τύχη...
Το πρώτο λάθος μου ήταν ότι δεν είχα βάλει τη cypher να τοποθετεί NULL χαρακτήρα αλλά μετά στο τέλος του array μου είχε και ένα χαρακτήρα με αριθμό 200 κάτι. Έτσι έβαλα τον NULL να τοποθετέιται στη θέση αυτού του χαρακτήρα:
http://ideone.com/zUoWj


Δεν ειναι Καίσαρας αυτο σταματίου !!!!
Ο καίσαρας κρυπτογραφεί με μια ορισμένη παράσταση την οποια έχω ποσταρει .
ΕΠισης ο Καισαρας θεωρει πως εχεις βρει με καποιο τροπο να αντιστοιχισεις προγραμματιστικα
τα ΑΒC... Z με 01.....25 .
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό stamatiou » 17 Φεβ 2012, 19:22

Star_Light έγραψε:migf1 εχω αυτο εδω το προβλημα :

Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Display_reverse(char *s , int len);

int main()
{

char *s = {'\0'};
int len;


printf("Give the len: ");
scanf("%d" , &len);

printf(" Give a string : ");

s= calloc( len , sizeof(char));

fgets(s,len,stdin);
Display_reverse(s , len);

return 0;
}
//----------------------------------------------------------------------
void Display_reverse(char *s , int len)
{
char *cp;

for(cp = s; *cp!='\0' && *cp!='\n' && *cp!=len; cp++)

putchar(*cp);

puts("\n");

return;
}


σταματαει στο "Give a string" και δεν κανει τιποτε αλλο. Τι φταιει?

Το πρόβλημα είναι στη fgets επειδή όταν την αντικατέστησα με scanf πήρε το string
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό stamatiou » 17 Φεβ 2012, 19:23

Star_Light έγραψε:
stamatiou έγραψε:Εγώ έχω ένα κόλλημα στου Καίσαρα....
Δουλεύει αλλά σχεδόν κατά τύχη...
Το πρώτο λάθος μου ήταν ότι δεν είχα βάλει τη cypher να τοποθετεί NULL χαρακτήρα αλλά μετά στο τέλος του array μου είχε και ένα χαρακτήρα με αριθμό 200 κάτι. Έτσι έβαλα τον NULL να τοποθετέιται στη θέση αυτού του χαρακτήρα:
http://ideone.com/zUoWj


Δεν ειναι Καίσαρας αυτο σταματίου !!!!
Ο καίσαρας κρυπτογραφεί με μια ορισμένη παράσταση την οποια έχω ποσταρει .
ΕΠισης ο Καισαρας θεωρει πως εχεις βρει με καποιο τροπο να αντιστοιχισεις προγραμματιστικα
τα ΑΒC... Z με 01.....25 .

Και μπορώ να βάλω το mod στη C;
Επίσης η αντιστοίχηση είναι για να δουλεύει η mod;
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι