Αν χρησιμοποιήσουμε στοίβα για την υλοποίηση της τότε πως μπορούμε να κρατάμε τον αριθμό των γραμμών που βρέθηκε το { ή το }.
Δηλαδή κάτι αντίστοιχο με hash map που έχει η java.
Σας ευχαριστώ εξ αρχής.
----------------------------------------------------------------------------------------------------
Ζητείται να υλοποιηθεί πρόγραμμα σε C, το οποίο θα εντοπίζει τις σύνθετες προτάσεις μέσα σε ένα αρχείο κειμένου που περιέχει κώδικα σε γλώσσα C. Το πρόγραμμα όταν ξεκινά θα ζητά από τον χρήστη να πληκτρολογήσει το όνομα του αρχείου που επιθυμεί να ανοίξει. Στη συνέχεια θα πρέπει να τον ενημερώνει για το που ξεκινά η κάθε σύνθετη πρόταση (δηλαδή που υπάρχει ανοιχτό άγκιστρο '{') και που τελειώνει η συγκεκριμένη σύνθετη πρόταση (δηλαδή που υπάρχει κλειστό άγκιστρο '}').
Παράδειγμα 1:
Έστω το αρχείο test1.c με τον παρακάτω κώδικα:
#include <stdio.h>
int main ()
{
int i;
for (i=0;i<10;i++)
{
printf("%d\n",i);
}
}
Εκτέλεση προγράμματος:
Δώσε όνομα αρχείου: test1.c
1η σύνθετη πρόταση:
Ανοίγει στην γραμμή 3
Κλείνει στη γραμμή 9
2η σύνθετη πρόταση:
Ανοίγει στην γραμμή 6
Κλείνει στη γραμμή 8
Το πρόγραμμα θα πρέπει να λειτουργεί σωστά ακόμα και στην περίπτωση που υπάρχουν πολλαπλά άγκιστρα στην ίδια γραμμή.
Παράδειγμα 2:
Έστω το αρχείο test2.c με τον παρακάτω κώδικα:
#include <stdio.h>
int main ()
{
int i;
for (i=0;i<10;i++)
{{
printf("%d\n",i);
}
}}
Εκτέλεση προγράμματος:
Δώσε όνομα αρχείου: test2.c
1η σύνθετη πρόταση:
Ανοίγει στην γραμμή 3
Κλείνει στη γραμμή 9 (άγκιστρο 2)
2η σύνθετη πρόταση:
Ανοίγει στην γραμμή 6 (άγκιστρο 1)
Κλείνει στη γραμμή 9 (άγκιστρο 1)
3η σύνθετη πρόταση:
Ανοίγει στην γραμμή 6 (άγκιστρο 2)
Κλείνει στη γραμμή 8
-----------------------------------------------------------------------------------------

