COMPITO 8
#include<iostream>
#include<fstream>
#include<string>
#define MAX 100
using namespace std;
void apriFile(ifstream &file);
void caricaFile(ifstream &file, int vet[], int &riemp);
void richiediSequenza(int *&sequenza, int &lung);
int verificaPresenza(int sequenza[], int fileVet[], int lung, int riemp);
int main(){
ifstream mioFile;
int *sequenza;
int fileVet[MAX];
int riemp, lung, trovato;
apriFile(mioFile);
caricaFile(mioFile, fileVet, riemp);
richiediSequenza(sequenza, lung);
trovato = verificaPresenza(sequenza, fileVet, lung, riemp);
if (trovato == 0)
cout << "Sequenza non trovata nel file!\n";
else
cout << "Sequenza trovata " << trovato << " volte nel file!\n";
system("PAUSE");
return 0;
}
void apriFile(ifstream &file){
string percorso;
cout << "Inserire il percorso del file: ";
do{
cin >> percorso;
file.open(percorso, ios::in);
if (!file)
cout << "Errore nell'apertura del file, inserire un nuovo percorso: ";
} while (!file);
return;
}
void caricaFile(ifstream &file, int vet[], int &riemp){
riemp = 0;
while (!file.eof()){
file>>vet[riemp];
riemp++;
}
return;
}
void richiediSequenza(int *&sequenza, int &lung){
cout << "Inserire la lunghezza della sequenza: ";
do{
cin >> lung;
if (lung < 2)
cout << "Valore non valido, inserire un numero maggiore di 1: ";
} while (lung < 2);
sequenza = new int[lung];
for (int i = 0; i < lung; i++){
cout << "Inserire l'elemento alla posizione " << i << ": ";
cin>>sequenza[i];
}
}
int verificaPresenza(int sequenza[], int fileVet[], int lung, int riemp){
int indice = 0;
bool ricerca = false;
int ricorrenze = 0;
int i = 0;
int primo = 0;
while(i<riemp){
if (fileVet[i] != sequenza[indice] && ricerca){
ricerca = false;
indice = 0;
}
if (fileVet[i] == sequenza[indice] && !ricerca){
ricerca = true;
indice++;
primo = i;
}
else if (fileVet[i] == sequenza[indice] && ricerca){
indice++;
if (indice == lung){
ricorrenze++;
ricerca = false;
indice = 0;
i = primo;
}
}
i++;
}
return ricorrenze;
}
domenica 12 febbraio 2017
Iscriviti a:
Commenti sul post
(
Atom
)
Nessun commento :
Posta un commento