Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { Visit: http://g-lts.info/ for more code! }
- #include <stdio.h>
- #define arraysize 11
- int rsimetria(int a[], int arxi_pinaka, int telos_pinaka);
- /* Μία αναδρομηκή συνάρτηση η οποία παίρνει :
- 1. Έναν πίνακα.
- 2. Έναν ακέραιο που δείχνει την πρώτη θέση του πίνακα.
- 3. Έναν ακέραιο που δείχνει την τελευταία θέση του πίνακα.
- Και επιστρέφει 1 αν είναι συμμετρικός ο πίνακας αλλιώς 0 .*/
- int readarray(int a[]);
- int main (void)
- {
- int a[arraysize],i=0;
- printf("Δώσε 10 ακέραιους να τους βάλω σε έναν πίνακα.\n");
- for (i; i<arraysize; i++)
- {
- printf("Πληκτρολόγησε έναν ακέραιο : ");
- scanf("%d",&a[i]);
- }
- readarray(a);
- if ( rsimetria(a,0,arraysize-1) ) /* δίνουμε κατευθείαν την "σωστή" τελευταία θέση */
- printf("Οκ πίνακας είναι συμμετρικός - να χαίρεσαι εσύ τώρα..\n");
- else
- printf("Καλά να πάθεις (:D) \n");
- return 0;
- }
- /**********************************************************************/
- /* Η αναδρομηκή συνάρτηση που μας λέει αν είναι ή όχι συμμετρικός ο πίνακας. */
- int rsimetria(int a[], int arxi_pinaka, int telos_pinaka)
- {
- if (arxi_pinaka <= telos_pinaka) /* ναι μικρότερο ή ΊΣΟ, γιατί έχουμε αφαιρέση αρχικά από την αρχή, την "λάθος" τιμή */
- if ( a[arxi_pinaka] == a[telos_pinaka] )
- rsimetria(a,arxi_pinaka+1,telos_pinaka-1);
- else
- return 0;
- /* και εφόσον δεν έχει σπάσει εδώ μέσα */
- else /* αν βγει έξω από τα όρια του πίνακα, τότε τότε όλα μέσα ήταν οκ ;) */
- return 1;
- }
- /**********************************************************************/
- /* Συνάρτηση που διαβάζει και εκτυπώνει το περιεχόμενο των θέσεων ενός πίνακα. */
- int readarray(int a[])
- {
- int i=0;
- printf("\n|==============================|\n");
- printf("| Ο πίνακας περιέχει. |\n");
- printf("|==============================|\n");
- printf("| Θέση \t Περιεχόμενο |\n");
- for (i; i<arraysize; i++)
- printf("| %d\t ====>\t %d\t |\n",i,a[i]);
- printf("|==============================|\n\n");
- return 1;
- }
- { Visit: http://g-lts.info/ for more code! }
Advertisement
Add Comment
Please, Sign In to add comment