Βοηθεια στη C

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
OFI gate -4-
Δημοσιεύσεις: 29
Εγγραφή: 28 Ιουν 2004 15:25

Βοηθεια στη C

Δημοσίευση από OFI gate -4- » 10 Αύγ 2005 23:32

Γεια σε ολους. Επειδη προσπαθω να περασω τον Προγραμματισμο στη σχολη και διαβαζω αυτες τις μερες θασ ηθελα τη βοηθεια σας. Ο εισηγητης του μαθηματος παντα μας δινει στην 1η ασκηση κωδικα και μας λεει τι θα βγαλει στην οθονη το προγραμμα και πρεπει να το βγαλουμε φυσικα χωρις compiler. Εκει που εχω κολλησει ειναι ο κωδικας :

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

#include <stdio.h>
main &#40;&#41;
&#123;
int count=0; 
int ak=0;
do
&#123;
	while&#40;ak++%2&#41;
count+=ak;
printf&#40;"%3d%3d\n",ak,count&#41;;
&#125;
while&#40;count<10&#41;;
&#125;
Ο compiler βγαζει το εξης:
1 0
3 2
5 6
7 12

Για το ak το καταλαβαινω πως βγαινει αλλα εχω σπασει το κεφαλι μου με αυτο το count.
Οποιος δε βαριτει ας δωσει τη βοηθεια του ρε παιδια,
Ευχαριστω.

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27610
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από cordis » 11 Αύγ 2005 01:32

το count+=ak; είναι ίσο με το count=count+ak;

κοίτα και αυτόν τον κώδικα.. κανονικά πρέπει να βγάζει το ίδιο αποτέλεσμα αλλά δεν έχει σύντμηση του iner while.. δες σε ποια λογική σειρά εκτελείται το count+=ak; και θα καταλάβεις γιατί την πρώτη φορά είναι 0 κτλ...

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

#include <stdio.h>
main &#40;&#41;
&#123;
int count=0;
int ak=0;
 do  &#123;
   do &#123; 
         count+=ak;
   &#125; while&#40;ak++%2&#41;;
  printf&#40;"%3d%3d\n",ak,count&#41;;
 &#125; while&#40;count<10&#41;;
&#125; 
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Βοηθεια στη C

Δημοσίευση από shadow » 11 Αύγ 2005 02:27

Ετσι είναι πιο σωστό

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

#include <stdio.h>
main &#40;&#41;
&#123;
int count=0;
int ak=0;
 do  &#123;
   while&#40;ak%2&#41; &#123;
        ak++;
        count+=ak;
   &#125;ak++;
  printf&#40;"%3d%3d\n",ak,count&#41;;
 &#125; while&#40;count<10&#41;;
&#125;

Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

OFI gate -4-
Δημοσιεύσεις: 29
Εγγραφή: 28 Ιουν 2004 15:25

Βοηθεια στη C

Δημοσίευση από OFI gate -4- » 11 Αύγ 2005 19:31

Το κωδικα τον καταλαβαινω αυτο που δε καταλαβαινω ειναι τι κανει ο κομπαιλερ και βγαζει τα συγκεκριμενα αποτελεσματα κυριως για το count. Δηλαδη το πινακακι που κανουμε στο χαρτι οταν μας δινεται μια τετοια ασκηση για να δουμε τι θα βγαλει το προγραμμα δε μπορω να βγαλω.

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Βοηθεια στη C

Δημοσίευση από shadow » 12 Αύγ 2005 01:17

Εαν "τρέξεις" το πρόγραμμα στο χαρτί θα καταλάβεις ακριβώς πως εκτελούνται οι εντολές. Βέβαια , κατά τη γνώμη μου είναι λίγο κουλό να τα κάνεις αυτά με το χέρι αλλά τέσπα :) (ελπίζω στην εξέταση να μην χρειάζεται να γράψεις κώδικα στο χαρτί, απαίσιο πράγμα...
Το count αυξάνεται πάντα μέσα στο while loop. Η συνθήκη που πρέπει να ισχύει για να γίνει αύξηση είναι το ak να είναι περιττός (then ak%2 != 0) . Ετσι με το που θα μπούμε μέσα στο while , αρχικά αυξάνεται το ak οποτε θα προκύψει αρτιο νούμερο και το count παίρνει την τιμή count = count + ak (αρτιος + αρτιος ) και είναι ένας άρτιος αριθμός.
Με την έξοδο από το while, το ak ξαναυξάνεται(απο την έξοδο του while παντα το ak θα είναι άρτιος) έτσι ώστε στο επόμενο iteration να ξαναμπούμε μέσα στο while και να γίνει η αύξηση στο count. Αυτό συνεχίζεται μέχρι το count να πάει την τιμη του πρώτου αρτιου αριθμού που ειναι μεγαλύτερος ή ίσος του 10.
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

OFI gate -4-
Δημοσιεύσεις: 29
Εγγραφή: 28 Ιουν 2004 15:25

Βοηθεια στη C

Δημοσίευση από OFI gate -4- » 13 Αύγ 2005 19:30

Shadow ευχαριστω. Δυστυχως γι αυτο δε μπορω να περασω το μαθημα γιατι οι πιο πολλες ακησεις που μας βαζει στη τελικη εξεταση ειναι του στυλ : τι θα εμφανιστει στην οθονη με την εκτελεση του παρακατω κωδικα. Και προφανως πρεπει να "τρεξεις" το προγραμμα στο χαρτι πραγμα που με δυσκολευει αφανταστα γιατι δεν ημουν τεχνολογικη κατευθυνση. Ετσι χανω το μαθημα εδω κ εναμιση χρονο. Επι της ευκαιριας οποιος εχει στο νου του καποιο βοηθημα για να τρεχεις προγραμμα στο χαρτι ας με βοηθησει.
Ευχαριστω ολους.

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27610
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από cordis » 13 Αύγ 2005 19:34

σε αυτό το στιλ γίνονταν οι εξετάσει και το '90... :P :P
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Βοηθεια στη C

Δημοσίευση από shadow » 14 Αύγ 2005 15:23

OFI gate -4- έγραψε:Επι της ευκαιριας οποιος εχει στο νου του καποιο βοηθημα για να τρεχεις προγραμμα στο χαρτι ας με βοηθησει.
Ευχαριστω ολους.
Δεν χρειάζεσαι βοήθημα για να τρέξεις κάποιον κώδικα στο χαρτί. Το βασικό είναι να μάθεις να διαβάζεις τον κώδικα και αυτο γίνεται μόνο διαβαζοντας για την γλώσσα που σε ενδιαφερει. Αρα χρειάζεσαι ενα καλό βιβλίο για C. Υπάρχουν αρκετά καλά βιβλία, αυτό το οποιο χρησιμοποιώ εγώ, The c programming language.
Edit: το κακο δεν ειναι να σου βάλουν στις εξετάσεις να βρεις ποια θα είναι η εξοδος ενός προγράμματος, το κακο ειναι να σου περιγράψουνε το προβλημα και να σου πούνε γραψε τον κώδικα για αυτό το πρόβλημα...
@cordis Δεν εχουν αλλάξει και πολύ τα πράγματα απο το '90 :kaloe:
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
myle
Δημοσιεύσεις: 205
Εγγραφή: 18 Ιουν 2005 23:59
Τοποθεσία: Πάτρα
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από myle » 21 Οκτ 2005 13:08

shadow έγραψε:Το βασικό είναι να μάθεις να διαβάζεις τον κώδικα και αυτο γίνεται μόνο διαβαζοντας για την γλώσσα που σε ενδιαφερει. Αρα χρειάζεσαι ενα καλό βιβλίο για C. Υπάρχουν αρκετά καλά βιβλία, αυτό το οποιο χρησιμοποιώ εγώ, The c programming language.
Αυτό το βιβλίο μας το μοίρασαν στην σχολή (Μηχανικών Η/Υ & Πληροφορικής) για να μάθουμε C!
Εικόνα

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Βοηθεια στη C

Δημοσίευση από shadow » 21 Οκτ 2005 13:32

i know that. kai egw apo ekei to exw :D
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
myle
Δημοσιεύσεις: 205
Εγγραφή: 18 Ιουν 2005 23:59
Τοποθεσία: Πάτρα
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από myle » 04 Νοέμ 2005 16:44

Μήπως γνωρίζετε κανένα compiler της ANSI C να έχω στο σπίτι μου για να κάνω compilation στα προγράμματα που φτιάχνω από το σπίτι μου για να βλέπω αν λειτουργούν;

Δεν με ενδιαφέρει να δημιουργεί εκτελέσιμα αρχεία, αν και καλό θα ήταν...

Αν μου πείτε το Visual Studio, πείτε μου και πως θα κάνω compilation. Απλά .c αρχεία θα φτιάχνω.
Εικόνα

Άβαταρ μέλους
frapes_drinker
Δημοσιεύσεις: 18
Εγγραφή: 13 Ιουν 2005 05:18
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από frapes_drinker » 14 Δεκ 2005 06:29

Ένας πολύ καλός compiler για να δοκιμάζεις απλά προγράμματα που τρέχεις είναι αυτός της borland. Oδηγίες για το κατέβασμα και την εγκατάσταση του εδώ: http://cplus.about.com/od/compilersandi ... 31502a.htm

Αφού κάνεις την εγκατάσταση, φτιάχνεις με το notepad το πρόγραμμά σου, το αποθηκεύεις με κατάληξη .c και όχι με .txt και μετά ανοίγεις το command prompt και γράφεις:

bcc32 blabla.c

(θα γίνει το compile) και μετά γράφεις

blabla

και το εκτελέσιμο θα τρέξει.

Άβαταρ μέλους
myle
Δημοσιεύσεις: 205
Εγγραφή: 18 Ιουν 2005 23:59
Τοποθεσία: Πάτρα
Επικοινωνία:

Βοηθεια στη C

Δημοσίευση από myle » 16 Δεκ 2005 12:09

Σε ευχαριστώ πολύ αλλά ήδη έχω κατεβάσει το Dev C++. Παρ' όλα αυτά θα δοκιμάσω και το πρόγραμμα που μου προτείνεις.
Εικόνα

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες