Δημοσιεύτηκε: 07 Απρ 2012, 17:23
από migf1
Ilias95 έγραψε:Έγινε, θα το δω και αυτό αργότερα μαζί με άλλα.

Στο μεταξύ έλυσα και τις ασκήσεις 10 και 18 (σελ.410-411).
Στην 18 (https://github.com/Ilias95/C-Exercises/ ... 16/ex_18.c) αποφάσισα να εκτυπώνω το chess table επίσης.
Γίνεται να γράψω τον initializer του table καλύτερα (στην 18);

Δοκίμασα να παραλείψω την δήλωση χρώματος στα μαύρα πιόνια λόγω ότι BLACK = 0, αλλά αν και δουλεύει σωστά παίρνω το παρακάτω warning:
Κώδικας: Επιλογή όλων
test1.c: In function ‘main’:
test1.c:45:9: προειδοποίηση: missing initializer [-Wmissing-field-initializers]
test1.c:45:9: προειδοποίηση: (near initialization for ‘table[0].color’) [-Wmissing-field-initializers]

Το έχασα λιγάκι στην αρχικοποίηση του πίνακα... δεν πρέπει κάθε γραμμή να έχει δικά της ξεχωριστά άγκιστρα;
Το περνάει έτσι όπως το 'χεις τώρα χωρίς "near initialization" warning o compiler;
(όσο για το πως θα μπουν τα EMPTY, δεν έχω ιδέα :lol: πέρα δηλαδή από το να τα βάλω ένα-ένα στην αρχικοποίηση... αν δεν το ζήταγε η άσκηση επί τούτου, εγώ θα έβαζα τα EMPTY και BLACK να αντιστοιχούν με 0 και θα αρχικοποιούσα τον πίανκα σε άδειο...

Μορφοποιημένος Κώδικας: Επιλογή όλων
Square board[8][8] = { {.type=EMPTY, .color=BLACK} };

και μετά τα πιόνια θα τα έβαζα μέσω κάποιας συνάρτησης π.χ. board_init()