Καλησπέρα,
stamatiou έγραψε:Εντάξει, την έκανα αυτήν με τα σύμφωνα και τα φωνήεντα αλλά έχει μερικά bugs

1. Δεν αναγνωρίζει το ο

Σου έχει ξεφύγει και μέσα στο for της is_vowel() το i το σταματάς στο 5, ενώ το s που περιέχει τα φωνήεντα έχει 12 χαρακτήρες

έγραψε:2. Και μερικές φορές βγάζει διάφορα από αυτά τα παράξενα τετραγωνάκια με τους αριθμούς μέσα και τα αγγλικά ερωτηματικά μέσα στους άσπρους κύκλους

Για αυτό πρέπει να φταίει πως όταν αρχικοποιείς τα s μέσα στις is_vowel() και is_consonant() έχεις ξεχάσει να προσθέσεις τον μηδενικό χαρακτήρα στο τέλος.
Πάντως είναι περιττό να αρχικοποιείς strings όπως αρχικοποιείς τα arrays, γιατί τα arrays of char τα διαχειρίζεται ως ειδική περίπτωση η C, οπότε αντί να γράφεις:
- Κώδικας: Επιλογή όλων
char s[] = {'a','A','E','e','I','i','o','O','U','u','Y','y','\0'};
μπορείς να γράφεις:
- Κώδικας: Επιλογή όλων
char s[] = "aAEeIioOUuYy";
που είναι το ίδιο πράγμα και πιο όμορφο στο μάτι (σε αυτή την περίπτωση τον μηδενικό χαρακτήρα τον βάζει αυτόματα στο τέλος ο compiler).
έγραψε:Επίσης δεν ήξερα πού έπρεπε να βάλω το Y

Τελικά το έβαλα στα φωνήεντα

Μια χαρά, έτσι το έχω βάλει κι εγώ στη δική μου λύση.
Υπάρχει όμως ένα πρόβλημα, έλυσες άλλη άσκηση

Αυτή που έβαλα εγώ λέει να συγκεντρώσεις όλα τα φωνήεντα στην αρχή του s, τα σύμφωνα στο τέλος του s, και οποιονδήποτε άλλον χαρακτήρα στη μέση του s. Εσύ πιάνεις το s και απλά τυπώνεις τα φωνήεντα που βρίσκεις, και μετά το ξαναπιάνεις και τυπώνεις τα σύμφωνα.
Πριν από λίγο κατέθεσα το συγκεκριμένο πρόβλημα και στο greekcodes.gr με αναλυτική εκφώνηση:
http://greekcodes.gr/index.php?option=c ... Itemid=534 (και δείγματα εξόδου).