miltostar Δημοσ. 11 Ιανουαρίου 2015 Share Δημοσ. 11 Ιανουαρίου 2015 Καλησπέρα και καλή χρονιά! ´Εχω μια εργασία για τη σχολή και πρέπει να την παραδόσω μέχρι το βράδυ..Είναι μια άσκηση στη C η οποία θέλει να γράψουμε ένα πρόγραμμα το οποίο: α) θα διαβάζει από το πληκτρολόγιο μια συμβολοσειρά (μαξ 80) και ένα χαρακτήρα. β) θα υπολογίζει τη συχνότητα εμφάνισης του χαρακτήρα στη συμβολοσειρά και θα το εκτυπώνει. γ) θα υπολογίζει και θα εκτυπώνει τη συμβολοσειρά ανάστροφα (π.χ. αν η συμβ. είναι τραπέζι θα την εκτυπώνει: ιζέπαρτ). Η αναστροφή της συμβολοσειράς θα γίνει με μια συνάρτηση που θα δέχεται την αρχική συμβολοσειρά και θα επιστρέφει την ανάστροφη με τη βοήθεια των δεικτών. Μέσα στη συνάρτηση η διαδικασία αναστροφής της συμβολοσειράς μπορείνα γίνει με οποιαδήποτε μέθοδο. Πριν από την εκτύπωση της ανάστροφης συμβολοσειράς θα εκτυπώνεται κ η αρχική. Οι εκτυπώσεις θα γίνουν στο κυρίως πρόγραμμα. Το πρόβλημά μου είναι ότι α)δεν ξέρω αν όντως έχω κανει σωστά το πρόγραμμα (για το ερώτημα γ) και β) ότι όταν το τρέχω στο τέλος, όταν είναι να εκτυπώσει την ανεστραμμένη συμβολοσειρά μου βγάζει σφάλμα κατάτμησης. Παρακάτω σας παραθέτω τον κώδικα. Ευχαριστώ εκ των προτέρων! #include <stdio.h>#include <string.h>char reverse (char b ){ char *ptr, *first; ptr=b; first=ptr; while (*ptr!='\0') { ptr++; } ptr--; while (ptr>=first) { b=*ptr; ptr--; } return (b ) ; }int main (){char s[80], a, k;int times=0, i;printf (" Δώσε συμβολοσειρά. \n");gets (s);printf (" Δώσε γράμμα. \n");scanf ("%c", &a);for (i=0;i<=80;i++){ if (s==a) times++;} if (times==1) printf ("Το γράμμα %c εμφανίζεται %d φορά. \n",a,times);else printf ("Το γράμμα %c εμφανίζεται %d φορές. \n",a,times);printf ("Η αρχική συμβολοσειρά είναι %s. \n",s);k=reverse(s);printf ("Η ανεστραμμένη συμβολοσειρά είναι %s. \n",k);} Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
jim_p Δημοσ. 11 Ιανουαρίου 2015 Share Δημοσ. 11 Ιανουαρίου 2015 Ρωτα καλυτερα στο κομματι του προγραμματισμου http://www.insomnia.gr/forum/15-%CF%80%CF%81%CE%BF%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%CF%84%CE%B9%CF%83%CE%BC%CF%8C%CF%82/ Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα