Λυμενες ασκησεις c++

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

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

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό bullgr » 20 Ιουν 2009, 12:11

Dimitris έγραψε:εγώ θα σου προτείνω να ακολουθήσεις μια άλλη τακτική. Οι λυμένες ασκήσεις καλές είναι αλλά εγκυμονούν τον κίνδυνο να κοιτάζεις τη λύση παρά να προγραμματίζεις. Ο μόνος τρόπος, δυστυχώς ή ευτυχώς, για να μάθεις προγραμματισμό είναι να προγραμματίσεις. Και στον προγραμματισμό πολλές φορές δεν υπάρχει σωστό ή λάθος. Σκέψου μια εφαρμογή που χρειάζεσαι ή μια εργασία που κάνεις επανειλημμένα και προγραμμάτισέ την. Στην αρχή μπορεί να μη λειτουργεί ή να δημιουργήσεις ένα Terabyte σκουπίδια στο raid (όπως έκανε ο γραφών) αλλά αν δεν κάνεις μόνος σου το λάθος δεν πρόκειται να μάθεις. Προγραμμάτισε πολύ και κάνε πολλά λάθη, με το να διαβάζεις μόνο δε μαθαίνετε ο προγραμματισμός.

+100000000000000

Αν δεν βρέξεις κ@λ@, ψάρια δεν πιάνεις... :mrgreen:
Μην γίνεσαι "παπαγαλάκι"... Πάλεψε να κάνεις κώδικα μόνος σου.. Μόνο έτσι θα μάθεις.
Όταν σπούδαζα προγραμματισμό (1991) είχαμε τέτοια "παπαγαλάκια" στη σχολή... Έπαιρναν έτοιμες ρουτίνες κώδικα από άλλους, είτε επειδή δεν είχαν την ικανότητα να τον κάνουν μόνοι τους ή επειδή δεν είχαν διάθεση να κάτσουν να παιδευτούν.

Αποτέλεσμα; Έγιναν "θεωρητικοί προγραμματιστές" (καλοί στη θεωρία αλλά στη πράξη μηδέν)... Και όταν τελείωσαν στη σχολή έμειναν στα αζήτητα... Ξέρεις, "προγραμματιστές/σερβιτόροι"...

Με λίγα λόγια, το θέμα δεν είναι να παραδίδεις μόνο λυμένες τις ασκήσεις αλλά να τις κάνεις μόνος σου και να γνωρίζεις τι και πως γίνεται σε κάθε άσκηση...
ΕΠΙΤΡΕΠΕΤΑΙ ΝΑ ΠΕΣΕΙΣ, ΕΠΙΒΑΛΛΕΤΑΙ ΝΑ ΣΗΚΩΘΕΙΣ... HASTA SIEMPRE...
Άβαταρ μέλους
bullgr
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 1853
Εγγραφή: 10 Μάιος 2008, 21:45
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό Nisok » 20 Ιουν 2009, 14:52

vladx έγραψε:Το ψαχνω εδω και 2 ωρες αλλα δεν μπορω να βγαλω ακρη...
Ειμαι καινουργιος στα λινουξ και ολο σκαλωνω...
Εχω μια εργασια για το πανεπιστημιο και πρεπει να παραδωσω το εκτελεσιμο αρχειο και οχι τον κωδικα οποτε
χρειαζομαι το gcc. Το θεμα ειναι οτι μεχρι τωρα δεν ειχα χρεαστει κατι αναλογο και δεν ξερω τι να κανω.

Εχω δοκιμασει να τρεξω αρκετες εντολες απο την κονσολα και σε ολες μ λεει "0 εκγαταστηθηκαν 0 αναβαθμιστηκαν''
Αυτο δεν σημαινει οτι ειναι εγκατεστημενο?
Το θεμα ειναι οτι δεν μπορω να το βρω στο pc...
Δεν ειναι μαζι με τις αλλες εφαρμογες προγραμματισμου στο μενου.


Φίλε μου είναι τόσο απλό.
Γράφεις το προγραμματάκι σου και το αποθηκεύεις σε ένα αρχείο c. Και δίνεις την εντολή
Κώδικας: Επιλογή όλων

gcc arxeio.c


και γίνεται το compile. Θα δημιουργηθεί ένα εκτελέσιμο αρχείο το οποίο μπορείς να τρέξεις.
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό vladx » 21 Ιουν 2009, 14:35

Παιδια θελω βοηθεια.
Μπορειται να μου πειτε αν ξερετε καποιο παραδειγμα δυναμικης καταχωρησης μνημης μητρας,σε C?
Εχω ψαξει αρκετα αλλα δεν βρισκω. Και στα βιβλια μου δεν εχει ακριβως αυτο που ψαχνω.
Ξερω πως να κανω για ενα string αλλα εγω θελω μια μητρα(χαρακτηρων).
Πιο συγκεκριμενα θελω να φτιξω ενα προγραμμα που να διαβαζει ενα αρχειο και να εμφανιζει ποσες φορες εμφανιστηκε ο καθε χαρακτηρας.
Ετσι θελω να εχω μια μητρα στην οποια να βαζω τους χαρακτηρες.

Να σας πω και την λογικη μ αν μπορειται να με βοηθησετε:
Ψαχνω ενα ενα τους χαρακτηρες του αρχειου και μεσα απο μια δομη επαναληψης κανω τον εξης ελεγχο,
Αν ο χαρακτηρας που διαβαστηκε δεν υπαρχει στη μητρα βαλτον, και αν υπαρχει αυξησε τον μετρητη του πληθους του(σε μια αλλη μητρα, σε αντιστοιχια).
Και θα τελειωνει η δομη οταν τελειωνει το αρχειο.
Γνωση Linux: Μετρια|| Προγραμματισμος: Καλή|| Λειτουργικο: Ubuntu 12.04 - Windows 7 ||
Desktop || CPU : Intel Core2Quad Q9550 @ 2.83GHz || Ram: 4.00 GB DDR3 || Καρτα Γραφκων : GeForce GTX460
Become a Programmer, Motherfucker
Άβαταρ μέλους
vladx
babeTUX
babeTUX
 
Δημοσιεύσεις: 105
Εγγραφή: 29 Μάιος 2009, 02:36
Τοποθεσία: Αθηνα
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό ftso » 21 Ιουν 2009, 14:51

Ρίξε μια ματιά εδώ http://www.dreamincode.net/forums/showtopic25406.htm
Αυτό στην java το κάνεις με την CharAt(), οπότε κάνε και εσύ μια αναζήτηση με βάση αυτό ;)
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό Nisok » 21 Ιουν 2009, 15:53

Κώδικας: Επιλογή όλων
#include <stdio.h>
int checkmatrix(char, char[]);
int addChar(char c, char[]);
int main ()
{
FILE * pFile;
int n = 0,check=0, hist[100];
char c, matrix[100];
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = getc (pFile);
check=checkmatrix(c,matrix);
if (check!=0)
{hist[check]+=1;}
else {addChar(c,matrix);}
} while (c != EOF);
fclose (pFile);
printf ("File contains %d$.\n",n);
}
return 0;
}

int checkmatrix(char c, char matrix[])
{
int i;
while(i<sizeof( matrix ))
{
if(strcmp(c, matrix[i]))
{ return i;}
return 0;
}
}

int addChar(char c, char matrix[])
{
int i;

while (i<sizeof(matrix))
{
if (matrix[i]='0')
{ matrix[i]=c;}
}
}
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό vladx » 21 Ιουν 2009, 16:06

Nisok έγραψε:
Κώδικας: Επιλογή όλων
#include <stdio.h>
int checkmatrix(char, char[]);
int addChar(char c, char[]);
int main ()
{
FILE * pFile;
int n = 0,check=0, hist[100];
char c, matrix[100];
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = getc (pFile);
check=checkmatrix(c,matrix);
if (check!=0)
{hist[check]+=1;}
else {addChar(c,matrix);}
} while (c != EOF);
fclose (pFile);
printf ("File contains %d$.\n",n);
}
return 0;
}

int checkmatrix(char c, char matrix[])
{
int i;
while(i<sizeof( matrix ))
{
if(strcmp(c, matrix[i]))
{ return i;}
return 0;
}
}

int addChar(char c, char matrix[])
{
int i;

while (i<sizeof(matrix))
{
if (matrix[i]='0')
{ matrix[i]=c;}
}
}

Κατα τη μεταγλωτισση:
Κώδικας: Επιλογή όλων
readc.c: In function ‘checkmatrix’:
readc.c:31: προειδοποίηση: implicit declaration of function ‘strcmp’
readc.c:35: προειδοποίηση: control reaches end of non-void function
readc.c: In function ‘addChar’:
readc.c:43: προειδοποίηση: suggest parentheses around assignment used as truth value
readc.c:46: προειδοποίηση: control reaches end of non-void function

Επισης οταν το εκτελω και δεν βρισκει το αρχειο βγαζει κανονικα το παραθυρο σφαλματος.
Οταν ομως υπαρχει το αρχειο μου γραφει Segmentation fault.....
Τελευταία επεξεργασία από vladx και 21 Ιουν 2009, 16:18, έχει επεξεργασθεί 1 φορά/ες συνολικά
Γνωση Linux: Μετρια|| Προγραμματισμος: Καλή|| Λειτουργικο: Ubuntu 12.04 - Windows 7 ||
Desktop || CPU : Intel Core2Quad Q9550 @ 2.83GHz || Ram: 4.00 GB DDR3 || Καρτα Γραφκων : GeForce GTX460
Become a Programmer, Motherfucker
Άβαταρ μέλους
vladx
babeTUX
babeTUX
 
Δημοσιεύσεις: 105
Εγγραφή: 29 Μάιος 2009, 02:36
Τοποθεσία: Αθηνα
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό Nisok » 21 Ιουν 2009, 16:11

Xmmm. Στο checkmatrix βγάλε το return 0 έξω από το while.

Κάνε το addChar void.

Πρόσθεσε τη βιβλιοθήκη #include <stdlib.h>
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό vladx » 21 Ιουν 2009, 16:45

Nisok έγραψε:Xmmm. Στο checkmatrix βγάλε το return 0 έξω από το while.

Κάνε το addChar void.

Πρόσθεσε τη βιβλιοθήκη #include <stdlib.h>

Ευχαριστω πολυ αλλα δεν αλλαξε κατι.
Χειροτερα .....
Δεν πειραζει, θα δω τι θα κανω μονος μου , ευχαριστω :wave:
Γνωση Linux: Μετρια|| Προγραμματισμος: Καλή|| Λειτουργικο: Ubuntu 12.04 - Windows 7 ||
Desktop || CPU : Intel Core2Quad Q9550 @ 2.83GHz || Ram: 4.00 GB DDR3 || Καρτα Γραφκων : GeForce GTX460
Become a Programmer, Motherfucker
Άβαταρ μέλους
vladx
babeTUX
babeTUX
 
Δημοσιεύσεις: 105
Εγγραφή: 29 Μάιος 2009, 02:36
Τοποθεσία: Αθηνα
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό Nisok » 21 Ιουν 2009, 16:47

Μάλλον δεν κατάλαβες καλά τις αλλαγές που σου είπα να κάνεις
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
int checkmatrix(char, char[]);
void addChar(char c, char[]);
int main ()
{
FILE * pFile;
int n = 0,check=0, hist[100];
char c, matrix[100];
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = getc (pFile);
check=checkmatrix(c,matrix);
if (check!=0)
{hist[check]+=1;}
else {addChar(c,matrix);}
} while (c != EOF);
fclose (pFile);
printf ("File contains %d$.\n",n);
}
return 0;
}

int checkmatrix(char c, char matrix[])
{
int i;
while(i<sizeof( matrix ))
{
if(strcmp(c, matrix[i]))
{ return i;}

}
return 0;
}

void addChar(char c, char matrix[])
{
int i;

while (i<sizeof(matrix))
{
if (matrix[i]='0')
{ matrix[i]=c;}
}
}


Εμένα δουλεύει ΟΚ.
Άβαταρ μέλους
Nisok
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 2637
Εγγραφή: 25 Ιαν 2009, 15:00
Τοποθεσία: /home
IRC: nisok
Εκτύπωση

Re: Λυμενες ασκησεις c++

Δημοσίευσηαπό vladx » 21 Ιουν 2009, 17:11

Nisok έγραψε:Μάλλον δεν κατάλαβες καλά τις αλλαγές που σου είπα να κάνεις
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
int checkmatrix(char, char[]);
void addChar(char c, char[]);
int main ()
{
FILE * pFile;
int n = 0,check=0, hist[100];
char c, matrix[100];
pFile=fopen ("myfile.txt","r");
if (pFile==NULL) perror ("Error opening file");
else
{
do {
c = getc (pFile);
check=checkmatrix(c,matrix);
if (check!=0)
{hist[check]+=1;}
else {addChar(c,matrix);}
} while (c != EOF);
fclose (pFile);
printf ("File contains %d$.\n",n);
}
return 0;
}

int checkmatrix(char c, char matrix[])
{
int i;
while(i<sizeof( matrix ))
{
if(strcmp(c, matrix[i]))
{ return i;}

}
return 0;
}

void addChar(char c, char matrix[])
{
int i;

while (i<sizeof(matrix))
{
if (matrix[i]='0')
{ matrix[i]=c;}
}
}


Εμένα δουλεύει ΟΚ.

Οντως αν και δεν ξερω τι χαζομαρα εκαν πριν :?
τωρα τρεχει...
Ευχαριστω παρα πολυ.
Πιστευω τωρα με λιγη κοπτοραπτικη θα το φερω στα μετρα μου...
Γνωση Linux: Μετρια|| Προγραμματισμος: Καλή|| Λειτουργικο: Ubuntu 12.04 - Windows 7 ||
Desktop || CPU : Intel Core2Quad Q9550 @ 2.83GHz || Ram: 4.00 GB DDR3 || Καρτα Γραφκων : GeForce GTX460
Become a Programmer, Motherfucker
Άβαταρ μέλους
vladx
babeTUX
babeTUX
 
Δημοσιεύσεις: 105
Εγγραφή: 29 Μάιος 2009, 02:36
Τοποθεσία: Αθηνα
Εκτύπωση

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

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