stamatiou έγραψε:Έκανα 2 πίνακες, ο ένας κρατούσε το input και ο άλλος int που στην αρχή ήταν όλα 0. Μετά διάβαζε έναν έναν τους χαρακτήρες και αν διάβαζε Space πχ έκανε Space - 32 και έβγαινε 0 άρα θα έκανε +1 το arrayint[0]. Αυτό θα το έκανα και στο 2ο input. Μετά τα σύγκρινα.
Δεν βγάζω άκρη

Αλήθεια, δεν βγάζω, μου φαίνεται τελείως... ακαταλαβίστικος ο κώδικας, ίσως αν έβαζες σχόλια σε κάθε γραμμή και χρησιμοποιούσες και καλύτερα ονόματα μεταβλητών;
Εκτός αν έχεις βρει τι πάει στραβά (ή αν σε έχουν καλύψει ήδη οι 3 λύσεις που σας έδωσα).
Νέα άσκηση με strings ε;
Λοιπόν, να τα πιάσουμε από την αρχή λέω, με απλά πράγματα... για να τα εμπεδώσουμε. Τι θα λέγατε να φτιάξετε τη δική μας έκδοση της στάνταρ συνάρτησης size_t strlen(const char *s) η οποία επιστρέφει το μήκος του ορίσματός της (χωρίς να μετράει τον μηδενικό χαρακτήρα στο τέλος; ).
Φτιάξτε λοιπόν μια συνάρτηση:
- Κώδικας: Επιλογή όλων
size_t mystrlen(const char *s)
η οποία θα μιμείται την κανονική strlen().
Ο τύπος size_t ορίζεται στην stddef (και στην stdlib που περιλαμβάνει την stddef.... #include <stdlib.h>) και είναι o συνιστώμενος τύπος όταν αναφερόμαστε σε μεγέθη στη C. Αν σας μπερδεύει, χρησιμοποιήστε int.
Φτιάξτε 2 παραλλαγές της συνάρτησης, μια χρησιμοποιώντας κώδικα που σημειολογικά θα διαχειρίζεται το string s ως πίνακα χαρακτήρων, και μια που σημειολογικά θα το διαχειρίζεται ως δείκτη σε χαρακτήρες (για να πιάσουμε και τους 2 κόσμους

)