dwritsa Δημοσιεύτηκε Δεκέμβριος 23, 2012 #1 Δημοσιεύτηκε Δεκέμβριος 23, 2012 Καλησπερα παιδια Υποτιθεται πως το παρακατω προγραμμα στη γλωσσα C υπολογιζει το εξης αθροισμα: 1^1+2^2+3^3+…+ν^ν #include <stdio.h> main (void) { int i,j,n, s,p; printf("Enter an integer:"); scanf("%d", &n); s=0; for(i=1; i<=n; i++){ p=1; for(j=1; j<=i; j++) p=p*i; s=s+p;} printf("The total sum is:%d\n", s); } εγω ξερω να γραφω προγραμματα σε ψευδογλωσσα και επειδη ειμαι αρχαρια ακομα με την C, το εγραψα στη ΓΛΩΣΣΑ και εκανα το πινακακι τιμων με ολες τις μεταβλητες για να το τρεξω προχειρα, αλλα κατι δεν παει καλα ετρεξα μεχρι ν=3 και εχω τελικο αποτελεσμα s=46 ενώ κανονικα θα επρεπε να βρω 14. το προγραμμα δεν λεει οτι κανει ή εγω το τρέχω λαθος;
perpap Δεκέμβριος 23, 2012 #2 Δεκέμβριος 23, 2012 To 1^1+2^2+3^3+…+ν^ν για ν = 3 , έχει σαν αποτέλεσμα 32 το οποίο είναι σωστο.Το πρόγραμμα σου αυτό υπολογίζει.Αφού περίμενες να βρεις(14) τότε θες τo 1*1+2*2+3*3+…+ν*ν για ν = 3Άρα αυτό που πρέπει να κάνεις είναι να σβήσεις ότι υπάρχει μετά τη πρώτη for και να κρατήσεις μόνο την s=s+p;την οποία όμως πρέπει να αλλάξεις κάπως για να πάρεις το σωστό αποτέλεσμα.
oxide Δεκέμβριος 23, 2012 #3 Δεκέμβριος 23, 2012 Καλησπερα παιδια Υποτιθεται πως το παρακατω προγραμμα στη γλωσσα C υπολογιζει το εξης αθροισμα: 1^1+2^2+3^3+…+ν^ν#include <stdio.h> main (void) { int i,j,n, s,p; printf("Enter an integer:"); scanf("%d", &n); s=0; for(i=1; i<=n; i++){ p=1; for(j=1; j<=i; j++) p=p*i; s=s+p;} printf("The total sum is:%d\n", s); } εγω ξερω να γραφω προγραμματα σε ψευδογλωσσα και επειδη ειμαι αρχαρια ακομα με την C, το εγραψα στη ΓΛΩΣΣΑ και εκανα το πινακακι τιμων με ολες τις μεταβλητες για να το τρεξω προχειρα, αλλα κατι δεν παει καλα ετρεξα μεχρι ν=3 και εχω τελικο αποτελεσμα s=46 ενώ κανονικα θα επρεπε να βρω 14. το προγραμμα δεν λεει οτι κανει ή εγω το τρέχω λαθος; Αν το παραπάνω πρόγραμμα στο έδωσε ο καθηγητής σου από τη σχολή, καλά κάνεις και το μελετάς αλλά το να το μεταφέρεις σε "γλώσσα" είναι κακός τρόπος debugging. Να το κάνεις compile κανονικά από C, όπως είναι για να το τσεκάρεις... Ο προγραμματισμός απαιτεί συχνά να βγαίνουμε απο την comfort zone μας για να μάθουμε νέα πράγματα.
dwritsa Δεκέμβριος 23, 2012 Author #4 Δεκέμβριος 23, 2012 perpap εχεις δικιο το διορθωσα! οντως το προηγουμενο που εγραψα υπολογιζει το 1^1+2^2+3^3+...+ν^ν το προγραμμα που υπολογιζει το 1*1+2*2+3*3+...+ν*ν ειναι το εξης Εμφάνισε " Δώσε έναν ακαίρεο: " Διάβασε n s=0 Για ( i απο 1 μέχρι n ) με βήμα +1 επανάλαβε s= s + i * i Τελ_επ Εμφάνισε " Το συνολικό άθροισμα είναι: ", s ξερω οτι ειναι λαθος τροπος εκμαθησης oxide και το κανω μονο προσωρινα γιατι θέλω μονη να βρισκω τα λαθη μου και οχι να μου τα επιδεικνυει ενας οποιοσδηποτε compiler... απο την καθηγητρια στο ΤΕΙ δεν καταλαβαινω τιποτα.. και απλα πρεπει να μαθω C με οποιοδηποτε τροπο! Ευχαριστω παντως και τους 2! εχω ακομη μια απορια! στο παρακατω προγραμμα Πρόγραμμα για την ανάγνωση ενός ακεραίου και ενός χαρακτήρα μέσω της “scanf”. #include <stdio.h> main() { int i; char ch; clrscr(); printf("\nΔώσε έναν ακέραιο αριθμό : "); scanf("%d", &i); printf("\nΔώσε έναν χαρακτήρα : "); scanf("%c", &ch); printf("\nΟ ακέραιος που έδωσες είναι : %d και : %c ", i, i); scanf("%d", &i); } η εντολη clrscr(); πού ακριβώς και σε τι χρησιμεύει;
SirDiman Δεκέμβριος 23, 2012 #5 Δεκέμβριος 23, 2012 Ο μονος τροπος να μαθεις ειναι να διαβασεις τουτοριαλ απο ιντερνετ ή ενα βιβλιο γι ατη γλωσσα που θελεις.Συναδελφος και εγω
dwritsa Δεκέμβριος 23, 2012 Author #6 Δεκέμβριος 23, 2012 εχω απελπιστει! κανω το πινακακι τιμων απο χθες και ολο 46 βρισκω αντι για 32 ειναι δυνατων;
nucleus Δεκέμβριος 23, 2012 #7 Δεκέμβριος 23, 2012 H clrscr "καθαρίζει" το παράθυρο της γραμμή εντολών.
gorg Δεκέμβριος 24, 2012 #8 Δεκέμβριος 24, 2012 εχω απελπιστει! κανω το πινακακι τιμων απο χθες και ολο 46 βρισκω αντι για 32 ειναι δυνατων; Πρόσεξε το 2ο for loop. Δες που πρέπει να βρίσκεται το s=s+p. Καλό είναι να χρησιμοποιείς πάντα αγκύλες ;-)
dwritsa Δεκέμβριος 24, 2012 Author #9 Δεκέμβριος 24, 2012 Αχα παιδια εχει λυθει το προβλημα ηταν οτι η εντολη s=s+p πρεπει να ειναι κτως της δευτερης for
Recommended Posts
Archived
This topic is now archived and is closed to further replies.