|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Città: PROVINCIA PESARO-URBINO
Messaggi: 1237
|
DELUCIDAZIONI PROGRAMMA C
Allora devo svolgere questo homework che verrà poi valutato...:
Devo scrivere un programma C che acquisisce un file di testo e due stringhe e poi costruisce un nuovo file di testo ottenuto dal file di testo precedente sostituendo ogni occorrenza della prima stringa con la seconda stringa. In Pratica scrivo un testo: "Oggi compro una nuova casa. La casa sarà grande e bella. La casa costerà un sacco di soldi." La stringa 1 : casa La stringa 2: Auto Quindi all'interno del file la parola casa sarà sostituita dalla parola Auto. Spero che il testo dica questo. Giusto?? In pratica dovrei prendere un algoritmo di ricerca che appunto vada a ricercare all'interno del file di testo tutte l'occorenze della prima stringa.Che algoritmo devo utilizzare?? Poi devo usare una funzione che mi sostituisca l'occorenza della prima stringa con la seconda stringa. Che funzione uso?? |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Piuttosto, l'algoritmo di ricerca deve cercare parole "intere" o qualunque occorrenza della stringa da cercare?? Per essere più chiari: volendo cercare "un" e sostituirlo con "UN", si deve prendere in considerazione solo "un" o anche "una"???
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Sep 2005
Città: PROVINCIA PESARO-URBINO
Messaggi: 1237
|
Quote:
Ma quale algortimo potrei utilizzare?? |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2005
Città: PROVINCIA PESARO-URBINO
Messaggi: 1237
|
Era solo un esempio, devo farlo nel caso generale.
|
|
|
|
|
|
#6 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Io darei un'occhiata al K&R alle voci fgets, fputs, strcmp, e strtok.
Le prime due sono dichiarate in stdio.h, le altre in string.h. Attenzione ai newline. Per quanto riguarda l'algoritmo, si tratta di string matching. Man mano che leggi, fai il matching con la prima stringa. Quando ti accorgi che non c'è un matching, scrivi il primo carattere che hai letto, e ricominci dal successivo. Quando trovi un matching, scrivi la seconda stringa, vai avanti di tanti caratteri quanto è lunga la prima, e ricominci. Scusate, ma su 'ste cose sono veramente arrugginito...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu Ultima modifica di Ziosilvio : 18-04-2007 alle 16:56. Motivo: Nel post originale, l'uso del matching era sbagliato. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
IMHO è meglio usare l'algoritmo più semplice in questo caso... Leggi un carattere per volta, se non matcha con il primo carattere della stringa lo vai a scrivere nel nuovo file...se invece matcha leggi il carattere successivo, se non matcha con il secondo riazzeri tutto e parti da capo andando a scrivere i caratteri letti sul file... Se arrivi a trovare la stringa da cercare vai a scrivere nel file la parola da sostituire...e riparti da capo... |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jan 2003
Messaggi: 3939
|
???
Ai miei tempi gli algoritmi se li inventava l'alunno. Ora si usa scaricarsi pure questi? Tra l'altro: non mi sembra niente di difficile. Quote:
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:25.



















