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

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

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

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

Δημοσίευσηαπό g1wrg0s » 28 Ιουν 2012, 15:12

Γνωριζει κανενας αν τα προγραμματα τα οποια διαχειριζονται αρχεια κειμενου χρησιμοποιουν βοηθητικο αρχειο για να πραγματοποιησουν διαταξη ενος κειμενου;

Προσπαθω να κανω ενα προγραμμα σε C , το οποιο θα κανει ακριβως αυτο χωρις τη χρηση πινακων αλλα βλεπω οτι αναγκαστικα πρεπει να δημιουργησω extra αρχειο.

Επισης καθε σκεψη θα βοηθουσε.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πρώτα βήματα
2 Ubuntu 12.10 quantal 3.10.20-031020-generic 32bit (el_GR.UTF-8, Unity ubuntu), Windows 8
3 Intel Core i5-3230M CPU @ 2.60GHz ‖ RAM 7923 MiB ‖ Acer VA50_HC_CR - Acer Aspire V3-571G
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ nVidia Device [10de:0fe1] {}
5 eth0: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] (rev 10) ⋮ wlan0: Atheros Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01)
g1wrg0s
punkTUX
punkTUX
 
Δημοσιεύσεις: 196
Εγγραφή: 26 Μάιος 2012, 10:29
Εκτύπωση

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

Δημοσίευσηαπό pc_magas » 28 Ιουν 2012, 15:17

Καλύτερα να πας σε πίνακα η πολλαπλή δοσοληψία με τον σκληρό κάνει το σύστημα αργό.
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2599
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

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

Δημοσίευσηαπό g1wrg0s » 28 Ιουν 2012, 15:30

Πολλαπλη δοσοληψια δεν εχω ιδεα τι ειναι.
Πιο αποδοτικο προγραμμα θα ειναι αν χρησιμοποιησω λιστα, στατικο πινακα, δυναμικο πινακα ;
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πρώτα βήματα
2 Ubuntu 12.10 quantal 3.10.20-031020-generic 32bit (el_GR.UTF-8, Unity ubuntu), Windows 8
3 Intel Core i5-3230M CPU @ 2.60GHz ‖ RAM 7923 MiB ‖ Acer VA50_HC_CR - Acer Aspire V3-571G
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ nVidia Device [10de:0fe1] {}
5 eth0: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] (rev 10) ⋮ wlan0: Atheros Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01)
g1wrg0s
punkTUX
punkTUX
 
Δημοσιεύσεις: 196
Εγγραφή: 26 Μάιος 2012, 10:29
Εκτύπωση

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

Δημοσίευσηαπό pc_magas » 28 Ιουν 2012, 19:58

@g1wrg0s
Πολλαπλή δοσοληψία = Να έχεις πολλά πάρε δώσε με αρχεία στον σκληρό.
Φόρτωσε πρώτα το αρχείο μετά ταξινόμισε ότι είναι να ταξινομίσεις και μετά ξαναγράψτο. Για ταξινόμηση αναλόγως τον αλγόριθμο όπου θα ακολου7θήσεις πως το έχεις σκεφτεί αν δεν ξέρω ακριβώς τι σκέφτεσαι δεν μπορώ να σε βοηθήσω....
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2599
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 28 Ιουν 2012, 20:56

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

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

Δημοσίευσηαπό medigeek » 29 Ιουν 2012, 02:43

Μάλιστα, το διόρθωσα, αν και το POSIX ISO είναι αυτό που με ενδιαφέρει για την ώρα. :P
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

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

Δημοσίευσηαπό stamatiou » 29 Ιουν 2012, 20:32

Off topic:
@migf1
Δεν ξέρω αν έχουμε μιλήσει για το συγκεκριμένο θέμα στο τόπικ, αλλά εσύ migf1 γιατί χρησιμοποιείς C και όχι C++; Έχω ακούσει ότι η C++ είναι το ίδιο γρήγορη με τη C αν δε χρησιμοποιήσεις streams. Ισχύει; Αν ναι γιατί να χρησιμοποιήσει κάποιος C και όχι C++ που δε χρειάζεται να είναι κάποιος τόσο προσεκτικός;
1Γνώσεις→Linux: Αρχάριος┃Προγραμματισμός:Αρχάριος┃Αγγλικά:Μέτριος
2Λειτουργικό→Arch Linxu 32bit
3Προδιαγραφές→2x AMD AthlonX2 DualCore QL-66 ‖ RAM 1751 MiB ‖ Hewlett-Packard 308C - Hewlett-Packard Compaq 615
4Κάρτες γραφικών:ATI RS780M/RS780MN [Radeon HD 3200 Graphics][1002:9612]
5Δίκτυα:eth0:Marvell 88E8042 PCI-E Fast Ethernet Controller [11ab:4357] (rev 10)⋮eth1: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315](rev 01)
Πρωσοπική Ιστοσελίδα: http://giwrg98.co.cc
Άβαταρ μέλους
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 29 Ιουν 2012, 20:54

stamatiou έγραψε:Off topic:
@migf1
Δεν ξέρω αν έχουμε μιλήσει για το συγκεκριμένο θέμα στο τόπικ, αλλά εσύ migf1 γιατί χρησιμοποιείς C και όχι C++; Έχω ακούσει ότι η C++ είναι το ίδιο γρήγορη με τη C αν δε χρησιμοποιήσεις streams. Ισχύει; Αν ναι γιατί να χρησιμοποιήσει κάποιος C και όχι C++ που δε χρειάζεται να είναι κάποιος τόσο προσεκτικός;

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

Σχετικά με την ταχύτητα της C++, είναι το ίδιο γρήγορη με την C κυρίως όταν την χρησιμοποιείς σαν C, χωρίς δηλαδή τα έξτρα χαρακτηριστικά της. Κάποιος που ενδιαφέρεται να ασχοληθεί σοβαρά και με επαγγελματικές προοπτικές, η C++ θεωρώ είναι από τις γλώσσες που πρέπει να μάθει με ή χωρίς C (ή έστω δεν πρόκειται να ζημιωθεί αν την μάθει). Είναι όμως κι αυτή άναρχη γλώσσα και πολύ πιο πολύπλοκη από την C. Επίσης, όποιος σου είπε πως με την C++ δεν χρειάζεται να είσαι τόσο προσεκτικός όσο με την C, σε δούλεψε άσχημα :lol:
Τελευταία επεξεργασία από konnn και 29 Ιουν 2012, 20:57, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: Κακιά λέξη.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

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

Δημοσίευσηαπό stamatiou » 29 Ιουν 2012, 21:16

migf1 έγραψε:
stamatiou έγραψε:Off topic:
@migf1
Δεν ξέρω αν έχουμε μιλήσει για το συγκεκριμένο θέμα στο τόπικ, αλλά εσύ migf1 γιατί χρησιμοποιείς C και όχι C++; Έχω ακούσει ότι η C++ είναι το ίδιο γρήγορη με τη C αν δε χρησιμοποιήσεις streams. Ισχύει; Αν ναι γιατί να χρησιμοποιήσει κάποιος C και όχι C++ που δε χρειάζεται να είναι κάποιος τόσο προσεκτικός;

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

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

Βασικά, αυτή τη βδομάδα που κοίταξα αρκετούτσικο κώδικα σε C++ και έπρεπε να ψιλογράψω και εγώ για να τα εφαρμόσω, κατάλαβα ότι π.χ. στο θέμα τον pointers μπορώ μερικές φορές να παραλείψω το & ή στα strings να τα κάνω compare με == κλπ. Γενικά σε βασικές εφαρμογές της που κοίταξα (μαζί με STL) είδα πως σε αυτά τα θέματα δεν είναι τόσο strict....
1Γνώσεις→Linux: Αρχάριος┃Προγραμματισμός:Αρχάριος┃Αγγλικά:Μέτριος
2Λειτουργικό→Arch Linxu 32bit
3Προδιαγραφές→2x AMD AthlonX2 DualCore QL-66 ‖ RAM 1751 MiB ‖ Hewlett-Packard 308C - Hewlett-Packard Compaq 615
4Κάρτες γραφικών:ATI RS780M/RS780MN [Radeon HD 3200 Graphics][1002:9612]
5Δίκτυα:eth0:Marvell 88E8042 PCI-E Fast Ethernet Controller [11ab:4357] (rev 10)⋮eth1: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315](rev 01)
Πρωσοπική Ιστοσελίδα: http://giwrg98.co.cc
Άβαταρ μέλους
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

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

Δημοσίευσηαπό migf1 » 29 Ιουν 2012, 21:31

Το αντίθετο, σε όποια θέματα είναι πιο strict από ότι στην C είναι και πιο safe.

Αυτό που λες για τα strings, υποθέτω αναφέρεσαι στην έτοιμη κλάση string της c++. Αν την χρησιμοποιήσεις, που σημαίνει πως δεσμεύεσαι να την διαχειρίζεσαι μονάχα μέσω των μεθόδων που σου παρέχει, τότε δεν χρειάζεται να είσαι τόσο προσεκτικός, γιατί θα σου πιάνει τα όποια λάθη σου. Από την άλλη μεριά, αν χρησιμοποιήσεις απευθείας τα c-strings όπως στη C θα είσαι πιο γρήγορος, θα έχεις μεγαλύτερη ελευθερία αλλά θα είσαι και πιο επιρρεπής σε λάθη.

Σχετικά με τους pointers, η C++ έχει και pointers και references.

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

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

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

cron