akoumal Δημοσ. 5 Οκτωβρίου 2016 Δημοσ. 5 Οκτωβρίου 2016 Εχω μια ασκηση να κανω με αντιστοιχους πινακες Α κ Β 20θεσεων.1)να εμφανισεις την προσ8εση των αντισοιχων θεσεων (αυτο το ελυσα ) 2) το γινομενο με την προυπο8εση ο πινακας Β να τρεχει αντιστροφα( αρα εδω θελω την 1θεση του πινακα Α επι την τελευταια θεση του Β δηλαδη την 19-1).Παρακατω εχω τον κωδικα #include <stdio.h>#include <stdlib.h>#include <time.h>#include <math.h>#define N 20main(){ int A[N],B[N],i,sum[N],gin[N],temp,counter; for(i=0; i<N; i++) { A=rand() %30; B=rand() %30; sum=A+B; gin=A * B[(N-1)-i]; printf("A[%d]--> %d \t B[%d]-->%d \t sum[%d]-->%d \t gin[%d]-->%d\n",i,A,i,B,i,sum,i,gin); if(A%B==0){ counter++; } } printf("\n akeraia pollaplasia: %d\n",counter); } κ μου εμφανιζει αυτο:
Moderators Kercyn Δημοσ. 5 Οκτωβρίου 2016 Moderators Δημοσ. 5 Οκτωβρίου 2016 Βάλε πρώτα όλες τις τιμές στους πίνακες και μετά κάνε πράξεις. Αν το i σου είναι πχ 2 τότε οι πίνακες έχουν τιμές για τις θέσεις 0, 1 και 2 κι εσύ πας και παίρνεις την τιμή του B[17]. Άμα έχεις κάποιο πρόβλημα, δοκίμασε να τρέξεις τον αλγόριθμο αρχικά στο μυαλό σου να δεις αν βγάζει νόημα ή/και κάνε debugging.
akoumal Δημοσ. 5 Οκτωβρίου 2016 Μέλος Δημοσ. 5 Οκτωβρίου 2016 οοοοοοο ναι εχεις δικιο δν το σκεφτηκα αυτο,ευχαριστω.....
Dinos_12345 Δημοσ. 5 Οκτωβρίου 2016 Δημοσ. 5 Οκτωβρίου 2016 (επεξεργασμένο) Πιο απλό. Βέβαια μπορείς να βάλεις και μία global για το size, και να είσαι gg, αλλά μην σπαταλάς μνήμη να βάλεις τα απότελέσματα σε πίνακα και μετά να τα τυπώσεις. Αυτό για το κομμάτι με τις πράξεις, τώρα μετά κάνεις ότι άλλο θες. #include <stdio.h> #include <stdlib.h> int main(){ int A[20], B[20], i; for (i = 0; i < 20; i++){ A[i] = rand() % 30; B[i] = rand() % 30; printf("A[%d] + B[%d] = %d\n", i, i, A[i] + B[i]); } for (i = 0; i < 20; i++){ printf("A[%d] X B[%d] = %d\n", i,19 - i, A[i] * B[19-i]); } return 0; } Επεξ/σία 5 Οκτωβρίου 2016 από Dinos_12345
NickSym Δημοσ. 5 Οκτωβρίου 2016 Δημοσ. 5 Οκτωβρίου 2016 Πιο απλό. Βέβαια μπορείς να βάλεις και μία global για το size, και να είσαι gg, αλλά μην σπαταλάς μνήμη να βάλεις τα απότελέσματα σε πίνακα και μετά να τα τυπώσεις. Αυτό για το κομμάτι με τις πράξεις, τώρα μετά κάνεις ότι άλλο θες. #include <stdio.h> #include <stdlib.h> int main(){ int A[20], B[20], i; for (i = 0; i < 20; i++){ A[i] = rand() % 30; B[i] = rand() % 30; printf("A[%d] + B[%d] = %d\n", i, i, A[i] + B[i]); } for (i = 0; i < 20; i++){ printf("A[%d] X B[%d] = %d\n", i,19 - i, A[i] * B[i]); } return 0; } Ξέχασες να βάλεις το "19 - i" και στο B, στην τελευταία printf
Dinos_12345 Δημοσ. 5 Οκτωβρίου 2016 Δημοσ. 5 Οκτωβρίου 2016 Ξέχασες να βάλεις το "19 - i" και στο B, στην τελευταία printf oops
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα