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. το προγραμμα δεν λεει οτι κανει ή εγω το τρέχω λαθος; Link to comment Share on other sites More sharing options...
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;την οποία όμως πρέπει να αλλάξεις κάπως για να πάρεις το σωστό αποτέλεσμα. Link to comment Share on other sites More sharing options...
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 μας για να μάθουμε νέα πράγματα. Link to comment Share on other sites More sharing options...
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(); πού ακριβώς και σε τι χρησιμεύει; Link to comment Share on other sites More sharing options...
SirDiman Δεκέμβριος 23, 2012 #5 Κοινοποίηση Δεκέμβριος 23, 2012 Ο μονος τροπος να μαθεις ειναι να διαβασεις τουτοριαλ απο ιντερνετ ή ενα βιβλιο γι ατη γλωσσα που θελεις.Συναδελφος και εγω Link to comment Share on other sites More sharing options...
dwritsa Δεκέμβριος 23, 2012 Author #6 Κοινοποίηση Δεκέμβριος 23, 2012 εχω απελπιστει! κανω το πινακακι τιμων απο χθες και ολο 46 βρισκω αντι για 32 ειναι δυνατων; Link to comment Share on other sites More sharing options...
nucleus Δεκέμβριος 23, 2012 #7 Κοινοποίηση Δεκέμβριος 23, 2012 H clrscr "καθαρίζει" το παράθυρο της γραμμή εντολών. Link to comment Share on other sites More sharing options...
gorg Δεκέμβριος 24, 2012 #8 Κοινοποίηση Δεκέμβριος 24, 2012 εχω απελπιστει! κανω το πινακακι τιμων απο χθες και ολο 46 βρισκω αντι για 32 ειναι δυνατων; Πρόσεξε το 2ο for loop. Δες που πρέπει να βρίσκεται το s=s+p. Καλό είναι να χρησιμοποιείς πάντα αγκύλες ;-) Link to comment Share on other sites More sharing options...
dwritsa Δεκέμβριος 24, 2012 Author #9 Κοινοποίηση Δεκέμβριος 24, 2012 Αχα παιδια εχει λυθει το προβλημα ηταν οτι η εντολη s=s+p πρεπει να ειναι κτως της δευτερης for Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.