drbill Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 C++ #include <iostream> using namespace std; main(){ int res[4][5]={{-1,-2,-5,-6,-7},{-6,-9,-14,-45,-56},{-75,-56,-96,-75,-45},{-45,-56,-75,-12,-31}}; for(int tes=0;tes<4;tes++){ for(int pes=0;pes<5;pes++){ cout<<res[tes][pes]<<"\t\a"; } cout<<endl; } } Δες μήπως και σου κάνει βάλε τυχαίους αριθμούς και τύπωσε τους
παπι Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Φίλε παπί δεν την "πιάνω" την πρώτη for... Στηρίζεται στο γεγονός ότι δεν ξέρουμε την θέση μνήμης του arr ;! το seed στηριζεται στο γεγονος οτι δεν ξερεις τι θα σου δωσει το λειτουργικο
Re4cTiV3 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 > #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); const int size = 8; int array[8]; int i; for (i = 0; i < size; i++) { array[i] = rand() % 6 + 1; printf("%dn", array[i]); } puts("n"); int counter[6] = { 0, 0, 0, 0, 0, 0 }; for (i = 0; i < size; i++) { ++counter[array[i] - 1]; printf("%d ", counter[0]); printf("%d ", counter[1]); printf("%d ", counter[2]); printf("%d ", counter[3]); printf("%d ", counter[4]); printf("%d ", counter[5]); puts("n"); } return 0; } απλα κανε αυτο το 1-3 κ 3-6.. δεν το χω κανει compile.. Αποστολή από το GT-I9000 με τη χρήση Insomnia App
defacer Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 @παπι: Do it yourself "random" number generation
migf1 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 @παπι: Do it yourself "random" number generation Κι εγώ αυτό ήμουν έτοιμος να σχολιάσω. Δεν νομίζω πως χρειάζεται η συγεκριμένη καστομιά... δεν δίνει κανένα πλεονέκτημα έναντι της χρήσης των στάνταρ srand()/rand().
nrkmaiden Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Εμενα μου αρεσε μαθαμε και κατι καινουριο....
migf1 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Εμενα μου αρεσε μαθαμε και κατι καινουριο.... Τι εννοείς όταν λες καινούριο; Το ότι το r ξεκινάει με την διεύθυνση του arr; Γιατί ουσιαστικά εκεί βασίζεται.
defacer Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Εμενα μου αρεσε μαθαμε και κατι καινουριο.... Ακριβώς αυτό είναι το πρόβλημα. Ότι "μαθαίνει κάτι καινούριο" κόσμος που δεν έχει τις γνώσεις για να καταλάβει ότι είναι κάτι που ποτέ δεν πρέπει να κάνεις (και για ποιό λόγο). Δεν είναι ότι στη συγκεκριμένη περίπτωση έγινε κάτι κακό, όμως σε βάζει σε λάθος τριπάκι αντί να σε βάλει στο σωστό: υπάρχει ***μένο εργαλείο ειδικά γι' αυτή τη δουλειά -- χρησιμοποίησέ το! BTW είναι καινούριο ότι μπορείς να κάνεις cast έναν pointer σε int? (που δε μπορείς βασικά σε 64-bit σύστημα αλλά αυτό είναι άλλη κουβέντα).
migf1 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 ... BTW είναι καινούριο ότι μπορείς να κάνεις cast έναν pointer σε int? (που δε μπορείς βασικά σε 64-bit σύστημα αλλά αυτό είναι άλλη κουβέντα). Αν εννοείς συντακτικά, σε C μπορείς (σε C++ δεν θυμάμαι). Το συγκεκριμένο μάλιστα είναι cast από pointer σε int, κι από int σε unsigned. Το πόσο αξιόπιστο (και κυρίως ασφαλές) είναι το αποτέλεσμα είναι άλλο θέμα. Βασικά αν υπήρχε κάποιο ουσιαστικό πλεονέκτημα έναντι του στάνταρ τρόπου δεν θα με χάλαγε (αν κι εγώ θα όριζα δείκτη το r για να του αναθέσω το r = arr, και θα έκανα cast σε int το αποτέλεσμα του modulo για τη χρήση του ως array index). EDIT: r = arr; (και όχι r = &arr)
nilosgr Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 BTW είναι καινούριο ότι μπορείς να κάνεις cast έναν pointer σε int? (που δε μπορείς βασικά σε 64-bit σύστημα αλλά αυτό είναι άλλη κουβέντα). Εεε και να μη γίνεται, κανείς mask τα 32 λιγότερο σημαντικά bits και είσαι σίγουρος!! Χαχα Πάντως είναι "φονικό" εργαλείο!! Φαντάσου να το παραδώσεις και καλά αυτό σαν εργασίακ και να σου πει ότι είναι λάθος κι εσύ να αρχίσεις να λες τρελά του τύπου "γιατί είναι λάθος;; Μια χαρά δουλεύει!! ...και χωρίς να κάνω και include ολόκληρο library μια μόνο συνάρτηση !!" ...πάει ο άλλος, έπαθε εγκεφαλικό!! :-P
migf1 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Εεε και να μη γίνεται, κανείς mask τα 32 λιγότερο σημαντικά bits και είσαι σίγουρος!! Χαχα Αυτό το κάνει αυτόματα το casting, τουλάχιστον στη θεωρία, χωρίς να χρειάζεται να ξέρεις καν το endianess.
παπι Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Ακριβώς αυτό είναι το πρόβλημα. Ότι "μαθαίνει κάτι καινούριο" κόσμος που δεν έχει τις γνώσεις για να καταλάβει ότι είναι κάτι που ποτέ δεν πρέπει να κάνεις (και για ποιό λόγο). Δεν είναι ότι στη συγκεκριμένη περίπτωση έγινε κάτι κακό, όμως σε βάζει σε λάθος τριπάκι αντί να σε βάλει στο σωστό: υπάρχει ***μένο εργαλείο ειδικά γι' αυτή τη δουλειά -- χρησιμοποίησέ το! BTW είναι καινούριο ότι μπορείς να κάνεις cast έναν pointer σε int? (που δε μπορείς βασικά σε 64-bit σύστημα αλλά αυτό είναι άλλη κουβέντα). Ειπα να γραψω μια μαλακια να περασει η ωρα r = arr; (και όχι r = &arr) Το ιδιο ειναι.
defacer Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Αν εννοείς συντακτικά, σε C μπορείς (σε C++ δεν θυμάμαι). Το συγκεκριμένο μάλιστα είναι cast από pointer σε int, κι από int σε unsigned. Το πόσο αξιόπιστο (και κυρίως ασφαλές) είναι το αποτέλεσμα είναι άλλο θέμα. Η ερώτηση απευθυνόταν στον nrkmaiden -- ήθελα να πω "δε νομίζω ότι ο κώδικας κάνει κάτι που δεν ήξερες, απλά έτσι που τα βλέπεις όλα μαζί κωλώνεις λίγο". Φυσικά γίνεται το cast και στη C++: είτε όπως είναι γραμμένο (C-style cast) είτε με reinterpret_cast. Ειπα να γραψω μια μαλακια να περασει η ωρα Γι' αυτό και δεν επεκτάθηκα αρχικά... μετά ήρθε ο nrkmaiden και με μπρίζωσε. Πάντως πιστεύω ότι τέτοιου είδους postings πρέπει να συνοδεύονται με προειδοποίηση "don't do this at home".
παπι Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 Πάντως πιστεύω ότι τέτοιου είδους postings πρέπει να συνοδεύονται με προειδοποίηση "don't do this at home". Ε καλα. Το 3ο κομματι της πρωτης for απλα φωναζει απο μονο του
migf1 Δημοσ. 13 Ιουνίου 2012 Δημοσ. 13 Ιουνίου 2012 ... Το ιδιο ειναι. Εννοούσα το δικό μου ποστ, όχι το δικό σου. Δηλαδή εννοούσα πως θα το δήλωνα δείκτη το r... > int *r, arr[6]; οπότε σε αυτή την περίπτωση το: r = &arr θα ήταν λάθος (αυτό θα ήθελε: int **r)..
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα