Jump to content

aria_pra

Members
  • Posts

    2
  • Εγγραφή

  • Τελευταία Επίσκεψη

About aria_pra

  • Γενέθλια 11/10/1989

aria_pra's Achievements

Newbie

Newbie (1/14)

  1. aria_pra

    Μετατροπή από μικρά σε κεφαλαία στην C

    ευχαριστω ! Αλλα το προβλημα μου ειναι στην αναζητηση! δες τι εχω κανει μεχρι στιγμης εγω.... #include <stdio.h> #include <stdlib.h> #include <string.h> #define CRYPT_X 17 #define CRYPT_Y 15 #define WORDS_MAX 54 int words_count = 0; char *words[WORDS_MAX]; char crypt[CRYPT_X][CRYPT_Y]; void read_words(void); void read_crypt(void); int main(void) { int i,j; read_words(); read_crypt(); // test gia na doume oti exoume se pinaka tis lexeis for (i = 0; i < words_count; ++i) printf("%s\n", words); // test gia na doume oti apothikeusame to kryptolexo ston disdiastato printf("KRYPTOLEXO:\n"); for (i = 0; i < CRYPT_X; ++i) { for (j = 0; j < CRYPT_Y; ++j) { printf("%c", crypt[j]); } printf("\n"); } return 0; } void read_crypt(void) { int c, x = 0, y = 0; FILE *f = fopen("crypt.txt", "r"); if (!f) { printf("cannot open file crypt.txt\n"); exit(EXIT_FAILURE); } while ((c = fgetc(f)) != EOF) { if (c == '\n') { ++x; y = 0; } else { crypt[x][y++] = c; } } fclose(f); } void read_words(void) { int c; int pos = 0; int line = 0; char buffer[512]; FILE *f = fopen("words.txt", "r"); if (!f) { printf("cannot open file words.txt\n"); exit(EXIT_FAILURE); } while (1) { c = fgetc(f); if (c != '\n' && c != EOF) { if (c != '\r') buffer[pos++] = c; } else { ++words_count; buffer[pos] = '\0'; words[line++] = strdup(buffer); pos = 0; } if (c == EOF) break; } fclose(f); }
  2. aria_pra

    Μετατροπή από μικρά σε κεφαλαία στην C

    Γεια! Παιδιά είμαι πολύ αρχάρια όσον αφορά τον προγραμματισμό και θα ήθελα αν μπορούσατε και έσεις να με βοηθούσατε σε μια εργασία που έχω να παραδώσω μέχρι την Δευτέρα αυτή!! Έχω κάνει κάποιες μικρές προεργασίες στην αρχή αλλά δεν επαρκούν καθόλου! Η άσκηση που έχω είναι η εξής.... Το κρυπτόλεξο είναι ένα παιχνίδι στο οποίο ο παίκτης ψάχνει για κρυμμένες λέξεις σε ένα 2 πίνακα χαρακτήρων. Οι λέξεις μπορεί να εμφανίζονται στον πίνακα αυτό οριζόντια, κάθετα, και διαγώνια. Επίσης μπορεί να εμφανίζονται με κανονική φορά ή ανάστροφη, σε όλες τις παραπάνω κατευθύνσεις (βλ. παράδειγμα παρακάτω). Το κρυπτόλεξο περιέχει μόνο λατινικούς χαρακτήρες. Ζητείται να δημιουργήσετε ένα πρόγραμμα (cryptwords.c) το οποίο, θα διαβάζει ένα κρυπτόλεξο καθώς και ένα κατάλογο από λέξεις που είναι κρυμμένες σε αυτό. Το κρυπτόλεξο είναι γραμμένο με μικρά γράμματα. Στη συνέχεια το πρόγραμμα σας θα πρέπει να τυπώνει το κρυπτόλεξο στην κύρια έξοδο, στην ίδια μορφή (2 πίνακας) αλλά με τις κρυμμένες λέξεις γραμμένες με κεφαλαία. Η είσοδος των παραπάνω δεδομένων στο πρόγραμμα σας θα πρέπει να γίνεται ως εξής. Το πρόγραμμα θα διαβάζει ένα αρχείο το οποίο θα περιέχει το 2 πίνακα του κρυπτόλεξου. Μια γραμμή του αρχείου θα αντιστοιχεί σε μια γραμμή του πίνακα. Οι κρυμμένες λέξεις θα δίδονται σε ένα δεύτερο αρχείο. Κάθε γραμμή του αρχείου θα περιέχει μια κρυμμένη λέξη. Το πρόγραμμα σας θα πρέπει να ζητά από το χρήστη τα ονόματα των 2 παραπάνω αρχείων. Για τη λύση της άσκησης μπορείτε, εάν θέλετε, να υποθέσετε πως οι διαστάσεις του πίνακα του κρυπτόλεξου δεν είναι μεγαλύτερες από 100 × 100. Επίσης μπορείτε, εάν θέλετε, να υποθέσετε πως δίδεται ο μέγιστος αριθμός των κρυμμένων λέξεων είναι 100 και πως η κάθε λέξη δεν έχει παραπάνω από 100 χαρακτήρες. Το πρόγραμμα σας θα πρέπει να εμφανίζει σχετικά μηνύματα όταν προκύψει κάποιο σφάλμα, όπως π.χ. δεν βρεθεί κάποιο αρχείο, ή όταν δε βρεθεί μια λέξη μέσα στο κρυπτόλεξο, ή εάν το αρχείο με το κρυπτόλεξο παρουσιάζει ασυνέπειες (π.χ. μια γραμμή έχει λιγότερους χαρακτήρες από τις υπόλοιπες, ή περιέχει κεφαλαίους χαρακτήρες). Θα χαιρόμουν πολύ αν με βοηθούσατε.... Και σόρυ αν το γράφω το μήνυμα σε χώρο άσχετο αλλά σήμερα μπήκα στην ιστοσελίδα αυτή και δεν ξέρω πολλά πράγματα!
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.