ulb Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 (επεξεργασμένο) Καλησπέρα και καλή χρονιά, Έχω μια άσκηση που θέλει να υλοποιήσουμε ένα πρόγραμμα όπου θα βρίσκει το πλήθος των λέξεων τριών γραμμάτων, τεσσάρων κλπ σε ένα έγγραφο. Ψάχνω λοιπόν κάποιο τρόπο ώστε να μετράω πόσες φορές υπάρχουν λέξεις 3 γραμμάτων για παράδειγμα στο έγγραφο, ώστε να επαληθεύσω τα αποτέλεσματα μου. Δοκίμασα με το Notepad ++ αλλά δίχως επιτυχία και φαίνεται ότι και ο όγκος του εγγράφου το ζορίζει στην αναζήτηση. Ευχαριστώ εκ τον προτέρων! Επεξ/σία 2 Ιανουαρίου 2021 από ulb
Επισκέπτης Δημοσ. 2 Ιανουαρίου 2021 Δημοσ. 2 Ιανουαρίου 2021 Με ποια γλώσσα προγραμματισμού; Μπορώ να σου δώσω κάποια code snippets σε Java, αλλά όχι ολόκληρη την λύση!
ulb Δημοσ. 3 Ιανουαρίου 2021 Μέλος Δημοσ. 3 Ιανουαρίου 2021 2 ώρες πριν, asxs είπε Με ποια γλώσσα προγραμματισμού; Μπορώ να σου δώσω κάποια code snippets σε Java, αλλά όχι ολόκληρη την λύση! Δεν με απασχολεί, ψάχνω απλά με ποιο τρόπο να κάνω επαλήθευση τα αποτελέσματα. Ψάχνω δηλαδή στο αρχείο (έγγραφο) να δω πόσες φορές υπάρχουν λέξεις με τρία γράμματα πχ ώστε να δω αν τα αποτελέσματα του προγράμματος συμπίπτουν.
albNik Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 Θα εχεις ενα πινακα int μήκους 50 ( ας πουμε δεν υπάρχει λεξη με πανω απο 50 γραμματα), θα τρέξεις το αρχειο σου και για καθε λεξη που βρισκεις θα αυξανεις τη συγκεκριμενη θεση του πινακα κατα 1. Π.χ. αν η λέξη ηταν μήκους 5 θα πεις a[5]++; while((word=getNextword())!=null) { a[word.length]++; } for(i=1; i<50; i++) print("Λεξεις με μηκος " + i +" : ", a[i]);
Papakaliati Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 Unit testing λεγεται φιλε μου. Βαζεις κανα 2 κειμενα με γνωστο αριθμο λεξεων (δεν χρειαζεται να ειναι μεγαλα, 2-3 σειρες το καθενα) και ελεγχεις τα αποτελέσματα. 1
ulb Δημοσ. 3 Ιανουαρίου 2021 Μέλος Δημοσ. 3 Ιανουαρίου 2021 Βρε παιδιά, συγνώμη αλλά γαιτί το κάνουμε τόσο σύνθετο; Δεν ψάχνω πως να υλοποιήσω το πρόγραμμα, απλά ψάχνω να δω πχ σε ένα έγγραφο πόσες φορές υπάρχουν οι λέξεις χ γραμμάτων. Δεν μπορώ να το κάνω κάπως εύκολα και γρήγορα με ένα Notepad++ όπως ψάχνω μια λέξη (πχ test), στο Word, στη γραμμή εντολών ή σε κάτι αντίστοιχο;
Papakaliati Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 (επεξεργασμένο) 14 λεπτά πριν, ulb είπε Βρε παιδιά, συγνώμη αλλά γαιτί το κάνουμε τόσο σύνθετο; Δεν ψάχνω πως να υλοποιήσω το πρόγραμμα, απλά ψάχνω να δω πχ σε ένα έγγραφο πόσες φορές υπάρχουν οι λέξεις χ γραμμάτων. Δεν μπορώ να το κάνω κάπως εύκολα και γρήγορα με ένα Notepad++ όπως ψάχνω μια λέξη (πχ test), στο Word, στη γραμμή εντολών ή σε κάτι αντίστοιχο; Όπως σου απάντησα παραπάνω, αυτό που θέλεις είναι unit testing, δεν χρειαζεται να τεσταρεις το ιδιο κειμενο δε και καλα, αλλά άλλα, μικροτερα κειμενα. Αυτο που ψαχνεις δεν εχει πρακτικη αξια, οποτε δυσκολο να βρεις προγραμματάκι να το κανει. Και στην τελική αυτό που θέλεις να κανείς είναι τόσο απλό, που δεν χρειάζεσαι και καμία τρελή επαλήθευση. Κάνε debug τις πρωτες 2 γραμμες, αμα τα αποτελέσματα που παίρνεις είναι σωστά, έτσι θα είναι και για τις υπόλοιπες. Άμα θέλεις δε και καλά, χρημοποιησε ένα ονλάιν regex, και βάζε regex για 1-2-3... μεγέθους λέξεις και σημείωνε τα αποτελέσματα. Επεξ/σία 3 Ιανουαρίου 2021 από Papakaliati
marios28 Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 (επεξεργασμένο) 16 λεπτά πριν, ulb είπε Βρε παιδιά, συγνώμη αλλά γαιτί το κάνουμε τόσο σύνθετο; Δεν ψάχνω πως να υλοποιήσω το πρόγραμμα, απλά ψάχνω να δω πχ σε ένα έγγραφο πόσες φορές υπάρχουν οι λέξεις χ γραμμάτων. Δεν μπορώ να το κάνω κάπως εύκολα και γρήγορα με ένα Notepad++ όπως ψάχνω μια λέξη (πχ test), στο Word, στη γραμμή εντολών ή σε κάτι αντίστοιχο; Καλή χρονιά, σ' αυτό που ρωτάς... Στο notepad++: 1. Πατάς ctrl + F (αναζήτηση) 2. Στο πεδίο "search mode" επιλέγεις "Regular expression" 3. Στο πεδίο αναζήτησης γράφεις (έστω ότι θες να ψάξεις λέξεις με ακριβώς 3 γράμματα): \b(\w{3})\b 4. Μετακινείς τον δρομέα στην αρχή του κειμένου και επιλέγεις "Count" 5. Στο κάτω μέρος θα σου εμφανιστεί πόσες φορές βρέθηκαν λέξεις με μήκος 3. 6. Αν θες να ψάξεις για λέξεις με 6 γράμματα, αλλάζεις τον αριθμό 3 σε 6 κ.ο.κ. Κάνε τις δοκιμές σου και τσέκαρε τα αποτελέσματα με το πρόγραμμά σου. Σημείωση: Το \w ταιριάζει οποιοδήποτε γράμμα ή αριθμό. Αν θες να συμπεριλάβεις στην αναζήτηση λέξεις που περιέχουν συγκεκριμένους χαρακτήρες θα πρέπει να αλλάξεις τη φράση ταιριάσματος. Αλλά δε νομίζω ότι χρειάζεται στην περίπτωσή σου. Επεξ/σία 3 Ιανουαρίου 2021 από marios28 1
htaccess Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 (επεξεργασμένο) Εντολή για αναζήτηση λέξεων με 4 γράμματα > grep -o -w "\w\{4\}" file | wc -w Επεξ/σία 3 Ιανουαρίου 2021 από htaccess 1
ulb Δημοσ. 3 Ιανουαρίου 2021 Μέλος Δημοσ. 3 Ιανουαρίου 2021 @marios28 & @htaccess Σας ευχαριστώ! Αυτό το τόσο απλό έψαχνα αλλά δεν θυμόμουν την σωστή σύνταξη τους και είχα χάσει την μπάλα. Ευχαριστώ και πάλι!
Papakaliati Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 38 λεπτά πριν, ulb είπε @marios28 & @htaccess Σας ευχαριστώ! Αυτό το τόσο απλό έψαχνα αλλά δεν θυμόμουν την σωστή σύνταξη τους και είχα χάσει την μπάλα. Ευχαριστώ και πάλι! @ulb δεν χρειάζεται να "θυμάσαι" τίποτα, το googlareis και το βρίσκεις. Η δοκιμάζεις στο regex.com μέχρι να βρεις το σωστό regex.
papmel Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 (επεξεργασμένο) Αρα θα κατσεις να κανεις 20 φορες πχ το Search? γιατι μπορει να υπαρχουν και λεξεις που ειναι πανω απο 20 γραμματα Η σωστη απαντηση ειναι αυτο που σου ειπε ο albNik και η υλοποιηση εδω. https://zgameprovider.com/count/ Επεξ/σία 3 Ιανουαρίου 2021 από papmel 1
marios28 Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 16 λεπτά πριν, papmel είπε Αρα θα κατσεις να κανεις 20 φορες πχ το Search? γιατι μπορει να υπαρχουν και λεξεις που ειναι πανω απο 20 γραμματα Η σωστη απαντηση ειναι αυτο που σου ειπε ο albNik και η υλοποιηση εδω. https://zgameprovider.com/count/ H "σωστή" απάντηση στην ερώτησή του είναι ό,τι τον βολεύει (1 λεπτό θα του πάρει για να αλλάξει τον αντίστοιχο αριθμό και να πατήσει 10 φορές το search) για να επαληθεύσει/τεστάρει το πρόγραμμά του και όχι για να ξανακάνει άλλη μια υλοποίηση που θα τεστάρει την πρώτη. Αυτό έγραψε πολλές φορές. Η δική σου απάντηση, (το link) είναι η βέλτιστη λύση σ' αυτό που ρώτησε. Αυτό ήθελε εξ' αρχής.
htaccess Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 Δεν χρειάζεται να αλλάξει κανένα αριθμό, το γράφει σε bash script και το τρέχει μία φορά. #!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24; do echo "counter: $i" && grep -o -w "\w\{$i\}" filename | wc -w done Εώς 24 γράμματα, αν θέλει παραπάνω προσθέτει. 1
marios28 Δημοσ. 3 Ιανουαρίου 2021 Δημοσ. 3 Ιανουαρίου 2021 18 λεπτά πριν, htaccess είπε Δεν χρειάζεται να αλλάξει κανένα αριθμό, το γράφει σε bash script και το τρέχει μία φορά. Εώς 24 γράμματα, αν θέλει παραπάνω προσθέτει. Άψογα. Πάντως αναφέρθηκα στη λύση μέσω notepad++. Τελωσπάντων με οποιονδήποτε τρόπο ο άνθρωπος εξυπηρετήθηκε.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα