PDA

View Full Version : [sfida] sapete scrivermi un programmino semplice che...


vermaccio
03-11-2004, 11:36
ho un elenco lunghissimo di 25000 parole messe una dietro l'altra in formato txt (sono tutte le parole del vocabolario inglese, credo)

esempio di una parte di queste parole
(ovvero ecco copiato ed incollato qui 3 righe di quel file di testo)

abolishers abolishes abolishing abolishment abolition abolitionary abolitionism *
abolitionist abolitionists abomasa abomasal abomasi abomasum abomasus abominable *
abominably abominate abominated abominates abominating abomination abominations *

(*)= punto in cui il testo va a capo. per la formattazione del forum potrebbe andare accapo altrove

notare che anche andando a capo c'è uno spazio tra la parola e quelle della riga successiva e che tra una parola e l'altra c'è uno spazio.

Chi di voi mi sa scrivere un programma in matlab o in c++ (o in quello che vi pare) che metta le parole una sotto l'altra levando tutti gli spazi?

esempio vorrei ottenere:

abolishers
abolishes
abolishing
abolishment
abolition
abolitionary
abolitionism
abolitionist
abolitionists
abomasa
abomasal
abomasi
abomasum
abomasus
abominable
...
..
.




spero che qualcuno mi dia una mano.

kingv
03-11-2004, 11:52
se usi linux basta che da shell digiti:


sed 's/ ./\n/g' nome_file


dove nome_file è il file che contiene il tuo dizionario.

se non hai linux e il file non è riservato spediscimelo che te lo faccio io.

è inutile scrivere un programma ex novo se ci sono già strumenti per fare una certa attività ;)

vermaccio
03-11-2004, 12:09
hai pvt
grazie

kingv
03-11-2004, 12:54
Originariamente inviato da vermaccio
hai pvt
grazie


son tornato ora da pranzo, tra un minuto lo faccio ;)

kingv
03-11-2004, 13:00
fatto, fammi sapere se è ok.


se a qualcuno interessa il comando è


sed 's/ \(.\)/\n\1/g' nome_file

DanieleC88
03-11-2004, 13:04
while (*s && *s != 0)
if (*s++ == 32) *s = 10

dove s è la stringa.

ringhio.net
03-11-2004, 13:55
mandami il file che devi mettere "in ordine".

vermaccio
03-11-2004, 14:00
perfetto. grazie.

Però aprensdolo da notepad di windows anzichè degli accapo apparivano dei quadrati. ho dovuto aprire in wordpad e salvare in txt formato msdos.

thank davvero

ciao

kingv
03-11-2004, 14:36
Originariamente inviato da vermaccio
perfetto. grazie.

Però aprensdolo da notepad di windows anzichè degli accapo apparivano dei quadrati. ho dovuto aprire in wordpad e salvare in txt formato msdos.

thank davvero

ciao


colpa mia, dovevo convertire i ritorni a capo (che sono diversi tra dos/windows e unix) :doh:


cmq hai già risolto :)