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

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

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

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

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 00:20

migf1 έγραψε:Οκ, αλλά ποιος ο λόγος να το κάνεις με πίνακες; Και έξτρα κώδικα θα γράψεις, και έξτρα μνήμη θα πιάσεις, και σε ταχύτητα θα χάσεις και δεν θα δουλεύει και για αριθμούς έξω από το εύρος 11 - 130. :lol:


O μονος λογος ειναι για να εξασκηθω μονος μου... γιατι αν παρω τον δικο σου κωδικα ετοιμο ε νταξει... εχεις δικιο σε αυτα που λες... δεν έχει κανεναν λογο παραπανω... σε ταχυτητα γιατι χανω??? επειδη εισαγω 2 loops??? Μεχρι να βάλει τιμες σε ολα τα στοιχεια του πινακα λογικα δαπανειται καποιος χρονος στο compilation ε ? ή και στο runtime ?

p.s Απλα θα μαθω καλυτερα και το εμφωλιασμενο loop
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό migf1 » 10 Σεπ 2011, 00:28

stamatiou έγραψε:Οκ, νομίζω πως είμαι εντάξει...
Spoiler: show
Κώδικας: Επιλογή όλων
void table_print_contents(int *table, const int maxelems) {
int i, len = tablen(table, maxelems);
for(i = 0;i < len;i++) {
printf("%d", table[i]);
putchar(' ');
}
putchar('\n');
return;
}

Γρήγορος ο Γιώργος :)

Λοιπόν, αυτές οι 2 γραμμές...
Κώδικας: Επιλογή όλων

printf("%d", table[i]);
putchar(' ');

μπορούν να γίνουν μια...
Κώδικας: Επιλογή όλων

printf( "%d ", table[i] );

Η συνάρτηση δουλεύει μια χαρά έτσι κι αλλιώς :)

Μόνο που διπλομετράει τα μη κενά στοιχεία (αν υπάρχουν).... τα μετράει μια φορά μέσω της tablen() και τα ξαναμετράει μετά στο for-loop της συνάρτησης.

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

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

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 00:42

migf1 να δοκιμασω να το συνεχισω λες με εμφολιασμενα loops? Ή δεν αξιζει?

Spoiler: show
Κώδικας: Επιλογή όλων

for(; i<25; i++)
{
printf("\n");
{
for(j=0; j<5; j++)
{
table_even[i][j]=(11*i)+j;
//result+=table_even[i][j];
printf("\t%d",table_even[i][j]);
}


εδω ας πουμε που μπορω να βάλω το

Κώδικας: Επιλογή όλων
if((table_even[i][j])%2==1)


για να επιτρεπει αρχικα μονο αρτιους.
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό migf1 » 10 Σεπ 2011, 00:53

Star_Light έγραψε:migf1 να δοκιμασω να το συνεχισω λες με εμφολιασμενα loops? Ή δεν αξιζει?

Δεν αξίζει! Και δεν καταλαβαίνω για ποιον ακριβώς λόγο αυτή η άσκηση πρέπει να γίνει με πίνακες; Δεν βρίσκω να μαθαίνει κάτι σχετικά με πίνακες η εκφώνηση.

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

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

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 00:56

χμ οκ την παραταω! Τι θα κανει το table.c?

στο μεταξυ χρωσταω και μια ασκηση απο την σελιδα 122 αυτη με τους ελεγχους :D
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό migf1 » 10 Σεπ 2011, 01:01

Star_Light έγραψε:χμ οκ την παραταω! Τι θα κανει το table.c?

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

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

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 01:04

migf1 έγραψε:
Θα φτιάξουμε από την αρχή ένα πλήρες πρόγραμμα διαχείρισης πινάκων (ιδανικά στο τέλος θα το μετατρέψουμε σε απλό διευθυνσιογράφο).


ο διευθυνσιογραφος τι ειναι ρε παιδια????
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 01:07

Παντως χαλαστηκα λιγο γιατι αφενος δεν πετυχα τον κωδικα πριν και αφετερου δεν καταλαβα και τοσο καλα τον κωδικα που εδωσες πχ για αυτο που προσπαθουσα να κανω και εγω πριν

btw

πολυ εξυπνο αυτο

Κώδικας: Επιλογή όλων

if (low > high ) {
int temp = low;
low = high;
high = temp;
}


ΑΝ τυχον ο χρηστης δωσει μια εισοδο καταλαθος πχ 10 και 8 τοτε απλα το 10 γινεται 8 και το 8 10.
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό Star_Light » 10 Σεπ 2011, 01:13

βασικα τις γραμμες 28-38 δεν καταλαβαινω τοσο καλα ολα τα αλλα οκ.

EDIT : το high + 1 που χεις βάλει για low < high + 1 ειναι ας πουμε ο ωφελιμος μέγιστος +1 ο χαρακτήρας τέλους?

EDIT 2 : Ok μεχρι και 31 γραμμη... παω τωρα για 31-38 :D
Τελευταία επεξεργασία από Star_Light και 10 Σεπ 2011, 01:17, έχει επεξεργασθεί 1 φορά/ες συνολικά
Γνώσεις ⇛ 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/C++

Δημοσίευσηαπό migf1 » 10 Σεπ 2011, 01:16

Διευθυνσιογράφος είναι ατζέντα ονομάτων, διευθύνσεων, τηλεφώνων, κλπ. με δυνατότητα αναζήτησης, φιλτραρίσματος, προσθήκης. διαγραφής, αντικατάστασης, κλπ εγγραφών.

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

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

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