Γλώσσα C βοήθεια

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

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

Απάντηση
diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 11 Οκτ 2008 15:38

Παιδιά γεία θέλω να φτιάξω ενα πρόγραμμα σε C που να κανει το εξής: Να γραφεί πρόγραμμα σε C που να υπολογίζει το άθροισμα …. μέχρι το άθροισμα να γίνει μεγαλύτερο από 0.777.Προσπαθώ εδώ και δυο μερες αλλα δεν μπορώ να τα καταφέρω με τίποτα αν και εχω κανει ενα σωρό συνδιασμούς. Αυτό το πρόγραμμα το έφτιαξα με while και πιστεύω οτι δουλεύει αλλα θέλω με for. Εαν μπορεί κάποιος ας με βοηθείσει παρακαλώ. Ευχαριστώ.
:D
Τελευταία επεξεργασία από το μέλος diamadiss την 12 Οκτ 2008 16:35, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από dva_dev » 11 Οκτ 2008 16:10

Καταρχάς μπήκε σε λάθος περιοχή, πρέπει να μεταφερθεί στη " Γλώσσες Προγραμματισμού » C, C++"

Δεν θέλει συνδιασμούς και δοκιμές, διάβασμα θέλει.

Για να κάνεις κάτι με while γράφεις συνήθως

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

...
while (συνθήκη)
{
...
}
...
με for το πιο απλό αντίστοιχο του while που μπορεί να γίνει είναι

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

...
for ( ; συνθήκη ; )
{
...
}
...
Προφανώς όμως για να ζητάει να γίνει με for δεν θέλει αυτή την εκφυλισμένη μορφή αλλά την συνηθισμένη μορφή της. Το ξεκίνημα πάντως το έχεις.

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 11 Οκτ 2008 16:29

Δηλαδή πιο σιγκεκριμένα. :D

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από Basilakis » 11 Οκτ 2008 17:16

diamadiss έγραψε:Να γραφεί πρόγραμμα σε C που να υπολογίζει το άθροισμα …. μέχρι το άθροισμα να γίνει μεγαλύτερο από 0.777
Ακριβώς έτσι σας δώσανε την άσκηση στη σχολή, σωστά;

:oops: :oops: :oops: :oops:

Άιντε, καλη χροννία! :hammer: :hammer:

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 11 Οκτ 2008 17:28

Έχετε δίκιο η εκφώνηση ήταν ελειπής. Συγνώμη. Η σωστή ειναι η παρακάτω:

Να γραφεί πρόγραμμα σε C που να υπολογίζει το άθροισμα 1/3+1/6+1/9+1/12....... μέχρι το άθροισμα να γίνει μεγαλύτερο από 0.777.
Τελευταία επεξεργασία από το μέλος diamadiss την 11 Οκτ 2008 18:12, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από Basilakis » 11 Οκτ 2008 17:59

Ώστε ο καθηγητής ζήτησε να κάνουνε την άσκηση σας κάπιοι άλοι για εσάς;

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 12 Οκτ 2008 02:42

Παιδια μήπως μπορει να με βοηθήσει κάποιος να φτιξω το προγραμμα με for παρακαλώ. Ευχαριστώ.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από dva_dev » 12 Οκτ 2008 03:41

Δείξε μας αυτό που έχεις υλοποιήσει με την while και θα σε βοηθήσουμε να κάνεις ότι αλλαγές χρειάζεται για να παίξει με for.

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 12 Οκτ 2008 16:34

Oriste ayto pou exo kanei me while :

#include <stdio.h>
main()
{
float a,b;
a=1;
b=3;
do
{
a=a/b;
b++;
}
while (a<0.777);
{
}
}

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από dva_dev » 12 Οκτ 2008 19:14

Λεει η άσκηση σου να υπολογίζει το άθροισμα 1/3+1/6+1/9+1/12
Δεν βλέπω πουθενά α) να κρατάς κανένα άθροισμα β) να υπολογίζεις τους όρους 1/6, 1/9, 1/12, ...

Αντίθετα υπολογίζεις το (((((1/3)/4)/5)/6)/7)/8...

Σίγουρα δουλεύει σωστά; Το δοκίμασες;

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 12 Οκτ 2008 19:53

Δεν είμαι σίγουρος εαν δουλεύει σωστά γιατί δεν τυπώνω τίποτα. Σύμφωνα με αυτά τα λίγα που γνωρίζω νομίζω πως είναι το σωστό.

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

Γλώσσα C βοήθεια

Δημοσίευση από nirvana » 13 Οκτ 2008 17:45

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

#include <stdio.h>
int main&#40;&#41;&#123;
	double a,b,count,c;
	a=1;
	b=3;;
	c=0;
	int lala=0;
	for&#40;;;&#41;&#123;
		c=a/b;
		count=count+c;
		printf&#40;"%f / %f =%f, count=%f\n",a,b,c,count&#41;;
		b=b+3;
		if&#40;count>0.777&#41; break;
	&#125;
	return 0;
&#125;
Αν θες να μην φτανει το αθροισμα στο 0.816667 οπως συμβαινει αν το τρεξεις προσθεσε πριν το return ενα count=count-c;

diamadiss
Δημοσιεύσεις: 28
Εγγραφή: 16 Μάιος 2008 21:52

Γλώσσα C βοήθεια

Δημοσίευση από diamadiss » 13 Οκτ 2008 20:28

Ευχαριστώ φίλε μου για την βοήθεια. Το ξανα κοίταξα όμως με την while και τώρα πιστεύω πως είναι σωστό κατα 99,999999% σωστό.


#include <stdio.h>
main()
{
float x,sum=0.00;
x=3;
while(sum<0.777)
{
sum=sum+(1/x);
x=x+3;
}
printf("Total is: \t\t\t\t\t%f",sum);
}

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Γλώσσα C βοήθεια

Δημοσίευση από dva_dev » 13 Οκτ 2008 22:05

Δεν πρέπει να σου είναι δύσκολο να το κάνεις for. Στο πρώτο σκέλος δίνεις την αρχική τιμή, στο δεύτερο τη συνθήκη και στο τρίτο κάνεις τη μεταβολή. Ετσι ακριβώς τα έχεις και στη while, λίγο η σύνταξη αλλάζει.

Επίσης συνθήκη πρέπει να ελέγχεται και για ισότητα όχι μόνο μικρότερο (όχι μεγαλύτερο <=> μικρότερο ή ίσο). Μην μένεις στο 99,999999% σωστό, κάντο 100%.

Μπορεί ο καθηγητής σου να κόψει κάποιες μονάδες από τη βαθμολογία, αλλά αν ένα πρόγραμμα δεν είναι 100% σωστό, τότε είναι λάθος.

Απάντηση

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

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

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