vellamos_power Δημοσ. 29 Μαΐου 2010 Δημοσ. 29 Μαΐου 2010 καλησπερα παιδια.εχω καποια θεματα που εχω λυσει απο μια προοδο αλλα απο το πρωτο θεμα τα 2 πωτα ερωτηματα δεν μπορω να τα κανω. εχω σκαναρει τα θεματα
bookysmell2004 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Εφόσον, όπως υπονοείς, έχεις λύσει το τρίτο και τέταρτο ερώτημα της πρώτης άσκησης, γιατί δε μας τα επισυνάπτεις για να μπούμε και πιο γρήγορα στο νόημα; Θεωρώ ότι το πρώτο και δεύτερο ερώτημα είναι κάτι αρκετά εύκολο για κάποιον που έχει λύσει το τέταρτο.
thanos713 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Κάτι τέτοιο για το πρώτο?? >#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int arithmoi[5][5],ar1=0,ar2=0,ar3=0,ar4=0,ar5=0,i,j; float mes1=0,mes2=0,mes3=0,mes4=0,mes5=0; srand(time(NULL)); for (i=0;i<5;++i) { for (j=0;j<5;++j) { arithmoi[i][j] = rand() % 10 + 1; } } for (i=0;i<5;++i) { ar1 += arithmoi[0][i]; } for (i=0;i<5;++i) { ar2 += arithmoi[1][i]; } for (i=0;i<5;++i) { ar3 += arithmoi[2][i]; } for (i=0;i<5;++i) { ar4 += arithmoi[3][i]; } for (i=0;i<5;++i) { ar5 += arithmoi[4][i]; } }
vellamos_power Δημοσ. 30 Μαΐου 2010 Μέλος Δημοσ. 30 Μαΐου 2010 Κάτι τέτοιο για το πρώτο?? >#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int arithmoi[5][5],ar1=0,ar2=0,ar3=0,ar4=0,ar5=0,i,j; float mes1=0,mes2=0,mes3=0,mes4=0,mes5=0; srand(time(NULL)); for (i=0;i<5;++i) { for (j=0;j<5;++j) { arithmoi[i][j] = rand() % 10 + 1; } } for (i=0;i<5;++i) { ar1 += arithmoi[0][i]; } for (i=0;i<5;++i) { ar2 += arithmoi[1][i]; } for (i=0;i<5;++i) { ar3 += arithmoi[2][i]; } for (i=0;i<5;++i) { ar4 += arithmoi[3][i]; } for (i=0;i<5;++i) { ar5 += arithmoi[4][i]; } } ευχαριστω πολυ. αυτο ειναι να σαι καλα
thanos713 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Το δεύτερο είναι το ίδιο. Σκέψου και το έχεις έτοιμο...
V.I.Smirnov Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Υποτιμάς τη νοημοσύνη σου. Σε οποιοδήποτε βιβλίο με τα στοιχειώδη μπορείς να βρεις παρόμοια πράγματα. Να ένα παράδειγμα : >#define N 5 int main() { int mat[N][N], i,j, sum; float mean; for (i=0 ; i<N; ++i) for (j=0 ; j<N; ++j) mat[i][j]=i+j; for (i=0 ; i<N; ++i) { sum=0; for (j=0 ; j<N; ++j) sum +=mat[i][j]; printf(" sum at row %d : %d \n",i,sum); } for (j=0 ; j<N; ++j) { sum=0; for (i=0 ; i<N; ++i) sum +=mat[i][j]; mean= sum/((float) N); printf(" mean at column %d : %f \n",i,mean); } for (i=0 ; i<N; ++i) mat[i][i]=0; for (i=0 ; i<N; ++i) { for (j=0 ; j<N; ++j) printf(" %d ",mat[i][j]); printf(" \n"); } return 0; }
thanos713 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Υποτιμάς τη νοημοσύνη σου.Σε οποιοδήποτε βιβλίο με τα στοιχειώδη μπορείς να βρεις παρόμοια πράγματα. Να ένα παράδειγμα : >#define N 5 int main() { int mat[N][N], i,j, sum; float mean; for (i=0 ; i<N; ++i) for (j=0 ; j<N; ++j) mat[i][j]=i+j; for (i=0 ; i<N; ++i) { sum=0; for (j=0 ; j<N; ++j) sum +=mat[i][j]; printf(" sum at row %d : %d \n",i,sum); } for (j=0 ; j<N; ++j) { sum=0; for (i=0 ; i<N; ++i) sum +=mat[i][j]; mean= sum/((float) N); printf(" mean at column %d : %f \n",i,mean); } for (i=0 ; i<N; ++i) mat[i][i]=0; for (i=0 ; i<N; ++i) { for (j=0 ; j<N; ++j) printf(" %d ",mat[i][j]); printf(" \n"); } return 0; } Γιατί νομίζω ότι το κάνεις πολύ μπερδεμένο χωρίς λόγο? Όχι τόσο μπερδεμένο, αλλά κάνεις κάποια πράματα χωρίς λόγο. Καταλαβαίνεις τι εννοώ? Βέβαια δεν έχω και αρκετή εμπειρία για να κρίνω αλλά σε κουβέντα να βρισκόμεθα...
V.I.Smirnov Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Είναι μια ενδεικτική απάντηση σε όλα τα ερωτήματα ένα προς ένα. Πού βλέπεις το μπέρδεμα ;
ippo00 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 > for (j=0 ; j<N; ++j){ for (sum=i=0 ; i<N; ++i) sum +=mat[i][j]; mean= sum/((float) N); printf(" mean at column %d : %f \n",i,mean); } αυτό θα άλλαζα μόνο για να φενεται καλύτερα το nester loop χωρίς highlighting ><
thanos713 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Είναι μια ενδεικτική απάντηση σε όλα τα ερωτήματα ένα προς ένα.Πού βλέπεις το μπέρδεμα ; Απλά βλέπω define σε κάτι που έχει ένα ψηφίο...
jstark Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Απλά βλέπω define σε κάτι που έχει ένα ψηφίο... Χρησιμοποιεί το #define ώστε να μή χρειάζεται να αλλάξει σε πολλά σημεία τον κώδικα (παρά μόνο σε ένα), αν αλλάξει το μέγεθος του πίνακα από 5Χ5 σε κάτι άλλο. Είναι μια σωστή επιλογή, καθώς έτσι αποφεύγονται οι magic numbers στο πρόγραμμα.
thanos713 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Χρησιμοποιεί το #define ώστε να μή χρειάζεται να αλλάξει σε πολλά σημεία τον κώδικα (παρά μόνο σε ένα), αν αλλάξει το μέγεθος του πίνακα από 5Χ5 σε κάτι άλλο. Είναι μια σωστή επιλογή, καθώς έτσι αποφεύγονται οι magic numbers στο πρόγραμμα. Magic number?
tespa_2002 Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Magic number? Το να έχεις "καρφωμένες" αριθμητικές τιμές σε διάφορα σημεία στο πρόγραμμα χωρίς να είναι σαφές σε τι αντιστοιχούν, πώς συσχετίζονται μεταξύ τους, ποιες και πώς θα πρέπει να αλλάξουν αν αλλάξει π.χ. ένα μέγεθος πίνακα. Όλα αυτά τα αποφεύγεις με χρήση #define EDIT: Χε, πρώτα απάντησα και μετά είδα το link. Με μπέρδεψε το ερωτηματικό στο τέλος.
vellamos_power Δημοσ. 30 Μαΐου 2010 Μέλος Δημοσ. 30 Μαΐου 2010 εχω φτιαξει αυτο το προγραμμα και θελω να αντιστρεψω το δενδρο.για παραδειγμα αν βαλω το 5 τοτε αφηνει 4 κενα και ενα αστερακι.μετα 3 κενα 2 αστερακια και παει λεγοντας . αυτο που θελω να κανω ειναι να το αντιστρεψω. στην αρχη καθολου κενα και στο τελος 4 και 1 αστερακι # include <stdio.h># include<stdlib.h> void typos(int); main() { int lines; printf("Dwste enan arithmo:"); scanf("%d",& lines); typos(lines); system("PAUSE"); } void typos(int lines) { int i,j; for (i=1; i<=lines; i++) { for (j=1; j<=lines-i; j++) { printf(" "); } for (j=1; j<=2*i-1; j++) printf("*"); printf("\n"); } return; } ---------- Προσθήκη στις 18:31 ---------- Προηγούμενο μήνυμα στις 17:46 ---------- μολις το ελυσα. σε περιπτωση που καποιος εχει απορια εδω το νεο προγραμμα #include<stdio.h>#include<stdlib.h> void ektupwsh (int); main() { int x; printf("Dwse enan akeraio arithmo:\n"); scanf("%d", &x); printf("\n"); ektupwsh(x); system("pause"); } void ektupwsh (int a) { int st=0,sp=a-1, i, j, k; for(i=a; i>0; i--) { for(j=a; j>sp; j--) { printf(" "); } for(k=a-1; k>st-a; k--) { printf("*"); } sp=sp-1; st=st+2; printf("\n"); } }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.