Niente da fare , vi passo i tre file:
Main
#include "func.h"
#include <iostream>
#include <fstream>
#include <string>
#define N 100
//Sia dato un file di testo contenenti una sequenza di nomi. Nell'ipotesi che un nome maschile termina con "o" e uno femminile termina con "a", scrivere un programma che conti e stampi i nomi maschili e i nomi femminili non ripetuti nel file
using namespace std;
int main (int argc, char * const argv[]) {
matrice m;
int r;
vettore v;
int riemp;
inserisciInMatrice( m, r);
cout<<endl;
leggiDaFile(v,riemp);
cout<<endl;
cercaOccorrenze(m,r, v, riemp);
return 0;
}
Header
#ifndef mamma
#define mamma
#define N 100
#define R 20
#include <fstream>
typedef char nomi [R];
typedef nomi matrice[N][N];
typedef nomi vettore[N];
void inserisciInMatrice(matrice & m,int & r);
void leggiDaFile(vettore & v,int & riemp);
void cercaOccorrenze(matrice m,int r, vettore v, int riemp);
#endif
Func.cpp
/*
* func.cpp
* preappello
*
* Created by Gennaro Oliviero on 18/12/11.
* Copyright 2011 __MyCompanyName__. All rights reserved.
*
*/
#include "func.h"
#include <iostream>
#include <fstream>
using namespace std;
void inserisciInMatrice(matrice & m,int & r){
cout<<"\nDefinisci la tua matrice :";
cout<<"\nQuante righe e colonne deve avere la tua matrice quadrata?";
cin>>r;
cout<<"\nRiempi la matrice";
for(int i=0;i<r;i++){
for(int j=0;j<r;j++){
cout<<"\nInserisci un nome\n";
cin>>m[i][j];
}
}
// Stampa della matrice
for(int i=0;i<r;i++){
for(int j=0;j<r;j++){
cout<<m[i][j]<<" ";}
cout <<endl;
}
}
void leggiDaFile(vettore & v,int & riemp ){
ifstream in;
in.open("/Users/Genna/Desktop/fondamenti di informatica/algoritmi di base/prove d'esame/comparare a e o/preappello/nomi.txt",ios::in);
cout<<"Quanti nomi ci sono nel tuo file?";
cin>>riemp;
for (int i=0;i<riemp;i++){
in>>v[i];
cout<<v[i];
cout<<endl;
}
in.close();
}
void cercaOccorrenze(matrice m,int r, vettore v, int riemp){
int i=0;
int occorrenza=0;
for(int j=0;j<r;j++){
for (int k=0;k<r;k++){
if(strcmp (m[i][j]==v[k]))
{
occorrenza++;
}
}
i++;
}
if(occorrenza>0)
{
cout<<"ci sono "<<occorrenza <<" occorrenze";
}
else
{
cout<<"non ci sono occorrenze";
}
}