Εργαστήριο Τεχνολογίας Λογισμικού
+1 vote
278 views

Προσπαθώντας να φτιάξω ένα πρόγραμμα αναζήτησης λέξεων έγραψα τον κώδικα αυτό.

Ωστόσο ζητάει 3 συμβολοσειρές χωρισμένες με enter αντί για 2 που είναι το επιθυμητό.
Στη συνέχεια εμφανίζει σωστά αποτελέσματα άμα θεωρήσουμε ότι αξιοποίησε την 1η και την 3η συμβολοσειρά και αγνόησε τη 2η.
πχ
Η ερώτηση είναι που βρίσκεται το πρόβλημα;

in progintro by (550 points) | 278 views

1 Answer

+3 votes

Στο πρώτο while loop έχεις γράψει
while(x != '\n') { ... } το οποίο σημαίνει πως το '\n' της πρώτης γραμμής θα διαβαστεί απο το x.

Έπειτα ανάμεσα στα δύο while έχεις SKIP_LINE(), το οποίο περιμένει να διαβάσει και να κάνει discard τα πάντα μέχρι το επόμενο '\n'.

Τέλος στο 2ο while(y != '\n') διαβάζεις από την είσοδο το κλειδί μέχρι το y να διαβάσει το '\n' ξανά.

Συνολικά ο κώδικάς σου απαιτεί 3 γραμμές εισόδου, το οποίο προκαλείται από το περιττό SKIP_LINE() μετά το πρώτο while.

by (3.0k points)
edited by
+1

Έγινε. Ευχαριστώ.

301 questions

289 answers

288 comments

909 users