vassilis498
Διακεκριμένο μέλος
συνήθως αυτά λύνονται χρησιμοποιώντας κάποιο VCS ( git, svn, mercurial etc )
Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Καλά εγώ θα σου λεγα τέσταρέ πρώτα ό,τι έχεις με 2 διεργασίες στο ίδιο pc και σύνδεση σε localhost κι όταν δεις πως όλα δουλεύουν οκ δοκιμάζεις να το πας και απομακρισμένα.
Σημείωση: Το μήνυμα αυτό γράφτηκε 9 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
/* File: header.h */
struct mystruct
{
int a;
};
/* File: main.c */
#include <stdlib.h>
#include "header.h"
int main(void)
{
struct derpstruct *ptr;
/* struct mystruct *ptr; */
int var = ptr->a;
return 0;
}
( ναι κανονικά θέλει και malloc εδώ αλλά δε πετάει αυτή το σφάλμα. )
Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
void do_nothing( void **arg ) {}
int main(void)
{
int *x;
do_nothing( &x );
return 0;
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
**για τον ίδιο λόγο στη C σε αντίθεση με τη C++ η malloc δε θέλει cast.
Σημείωση: Το μήνυμα αυτό γράφτηκε 10 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
ένας άλλος είναι να βάλεις περιορισμούς σε 2 scanf() και να παίξεις με την επιστροφή της
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Για dev ίσως υπάρχει τρόπος να το τρέξεις χωρίς να σου κλείσει η κονσόλα αλλά δεν τα ξέρω αυτά.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Καλησπέρα παιδιά.... Καταρχάς σας ευχαριστώ όλους...Έκανα αυτό με το #define και εντάξει δεν έβγαλε λάθος μετά...τώρα όμως αντιμετωπίζω άλλο πρόβλημα...όταν το τρέχω και δίνω τους αριθμούς μητρώου κτλ και γεμίζω τον πίνακα κλείνει...πρέπει να προσθέσω κάτι?
Ο λόγος που στον κώδικά σου υπάρχει η getch() πριν το return είναι αν δεν κάνω λάθος για να μη σου κλείνει το παράθυρο. Γα την ακρίβεια αντί για getch() θα μπορούσες να είχες βάλει οποιαδήποτε άλλη συνάρτηση εισόδου το ίδιο πράγμα κάνουν. Το θέμα είναι ότι αν μια συνάρτηση εισόδου όταν πάει να τραβήξει δεδομένα απ' το stdin δεν είναι άδειο δε θα πάει να σου ζητήσει να πληκτρολογήσεις κάτι νέο, αλλά τραβάει από ό,τι έχει περισσέψει από πριν. Αυτό μαντεύω ότι έγινε και εδώ. Η τελευταία scanf τράβηξε ό,τι δεδομένα της πληκτρολόγησες και άφησε πίσω το newline (\n) το οποίο στη συνέχεια πήρε η getch με αποτέλεσμα το πρόγραμμά σου να τερματήσει και το παράθυρο να κλείσει πριν προλάβεις να δεις τα αποτελέσματα.
Γενικά αν θες να καλύψεις και αυτήν την περίπτωση μπορείς αντί για κάποια συνάρτηση εισόδου να βάλεις ένα system("pause"); το οποίο απλά παγώνει τη ροή του προγράμματος. Και πρόσθεσε και ένα #include<stdlib.h> στην αρχή για να υπάρχει η δήλωσή του.
Αλλά γενικά αυτά είναι ματσακωνιές των windows δε θεωρείται ορθό ένα πρόγραμμα να μην τερματίζει το κάνεις μόνο και μόνο για δική σου ευκολία.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Απ την άλλη υπάρχει πάντα και ο easy way: #define getch() getc(stdin)
επίσης στο scanf("%s", &e); έχεις ξεχάσει το κόκκινο
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
hint: σε ενδιαφέρει να ξέρεις τη διαφορά πχ του 54 από το 50 ή το 60 ανάλογα. θα χρειαστείς mod
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
- Η "βίβλος" της C είναι το The C Programming Language, των K&R. Είναι μικρό, συνοπτικό, clear to the point. Θα έλεγα ότι είναι χρήσιμο να έχεις κάποια πρότερη εξοικείωση με τον προγραμματισμό, αλλά και πληκτρολόγιο δίπλα σου για να το ακολουθήσεις. Με άλλα λόγια, αυτό δεν είναι να το διαβάσεις σαν λογοτεχνικό, αλλά θέλει να βλέπεις το παράδειγμα και να το πληκτρολογήσεις. Αλλά με αυτό θα μάθεις καλή C.
- Το άλλο βιβλίο που ακούστηκε, "Η γλώσσα C σε βάθος", έχει πάρει το μάτι μου ότι είναι ένα πιο χαλαρό βιβλίο, που σε πάει βήμα-βήμα. Αν δεν έχεις ιδέα από προγραμματισμό, ίσως βοήθαγε. Στο τέλος, έχει και μια εισαγωγή στην C++. Αλλά προτείνω το 1ο βιβλίο, γιατί δεν φλυαρεί.
- Περιβάλλον: linux. Δεν χρειάζεται να εγκαταστήσεις τίποτα, έχεις τον gcc (compiler) από τη μάνα του. Και με έναν καλό text editor (vim), είσαι έτοιμος σε ένα λεπτό να ξεκινάς να προγραμματίζεις.
ναι το βρήκες, με KR και vim κάνεις την τέλεια εισαγωγή στη C
η δική μου πρόταση είναι: https://www.c4all.gr/ + ό,τι guide βρεις στο internet
με linux αν δεν έχεις γενικά επαφή καν δεν ξέρω αν αξίζει να ασχοληθείς μόνο και μόνο για τον προγραμματισμό ( αλλά σίγουρα για C ειδικα είναι καλύτερο ). πάντως και σε windows δουλεύεις αν θες.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
while ( fscanf ( file, "%s", word ) != EOF )
{
...
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
edit: ελληνικου λέω εε κάτι εκτός του standard προτύπου για την ακρίβεια
ή και εκτός ASCII ξέρω γω unicode
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Βοηθεια παιδια.
Εχω αρχειο κειμενου και θελω να διαβασω τον αριθμο των χαρακτηρων σε καποια κομματια του κειμενου. Το εχω ανοιξει σαν binary και πιστευω πως το εχω κοψει σε νοητα κομματια ,ωστε να ξερω απου που θα ξεκινα η μετρηση και που θα τελειωνει. Προσπαθω να αποφυγω χαρακτηρες ' '(κενα), '\n' (new line) και το τελος του αρχειου (EOF) αλλα σε καποια κομματια μετραει σωστα, σε αλλα παλι χανει μερικους χαρακτηρες.
Καποια βοηθεια ;
#include <stdio.h>
int main (void)
{
int line = 1, begin, end, i, ch;
scanf ("%d - %d", &begin, &end );
getchar();
while ( line < begin )
{
if ( ( ch = getchar() ) == '\n' ) line++;
}
while ( line <= end && ch != EOF )
{
ch = getchar();
if ( ch == '\n' ) line++;
else if ( ch != ' ' && ch != '\t' ) i++;
}
printf ("%d chars.\n", i);
return 0;
}
κάτι τέτοιο πχ;
( θεωρώ πως οι γραμμές αναφέρονται στην πρώτη γραμμή του αρχείου εκτός αρίθμησης γιατί δεν ξέρω ακόμα πως να διαβάζω από >1 εισόδους αλλά η λογική είναι η ίδια )
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
( όχι δεν ξέρω να σου απαντήσω άλλα έπρεπε να το πω )
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
sum = str [0] + str[N-1];
( αντί για str προφανώς βάλε τι όνομα του χεις βάλει εσύ )
* λογικά εννοείς το άθροισμα των περιεχομένων των 2 θέσεων
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Αχα....Συγνωμη....Μαλλον διαβασα γρηγορα το μηνυμα σου και δεν το καταλαβα σωστα...εχεις δικιο. Εκτος ομως εαν η ασκηση/η ο καθηγητης δεν θελουν την ετοιμη συναρτηση...
Δεν έχει νόημα να σου ζητήσει κανείς κάτι τέτοιο καθώς η συγκεκριμένη συνάρτηση φτιάχνεται εύκολα επί τόπου. Υπάρχουν ωστόσο και τρόποι να το βρεις χωρίς χρήση συνάρτησης αλλά δεν έχει νόημα να το πας έτσι.
επίσης (τώρα το δα ) μπορείς να χρησιμοποιήσεις και αλλαγή τύπου που ανέφερε η black butterfly σε στυλ x == (int) x το οποίο βέβαια λειτουργεί μόνο κατά περίπτωση αλλά σου κάνει τη δουλειά.
(έχω κάνει 500 edit lol )
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Νομιζω ομως οτι θελει μονο τους αριθμους που ειναι ηδη ακεραιοι....και οχι το ακεραιο μερος....
Εκτος και εαν κανω λαθος..οποτε αγνοηστε με!!!!
ναι για αυτό λέω πως το x == floor(x) είναι ένας απλός τρόπος να ξεχωρίσει τους ακέραιους. Αν ένας αριθμός είναι ίσος με το ακέραιο μέρος του σημαίνει ότι είναι ακέραιος.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
vassilis498
Διακεκριμένο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.