Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <strings.h>
- #define NCODICI 100
- #define DIMSEQUENZA 80
- typedef struct{
- char sequenza[DIMSEQUENZA];
- }Codice;
- typedef struct{
- Codice codice[NCODICI];
- int n;
- }Pizzino;
- void apriPizzino(FILE *filePizzino, Pizzino *pizzino){
- int i;
- fscanf(filePizzino,"%d ",&pizzino->n);
- for(i=0;i<pizzino->n;i++)
- fgets(pizzino->codice[i].sequenza,DIMSEQUENZA,filePizzino);
- }
- int cerca(char v1[], char v2[], int i){
- int j;
- for(j=0;j<strlen(v1);j++){
- if(v1[i]==v2[j])
- return 1;
- }
- return -1;
- }
- //Torna 1 se sono anagrammi, 0 altrimenti
- int isAnagramma (char v1[], char v2[]){
- int i;
- if(strlen(v1)!=strlen(v2))
- return 0;
- else{
- for(i=0;i<strlen(v1);i++){
- if(cerca(v1,v2,i)==-1)
- return 0;
- }
- return 1;
- }
- }
- main(){
- int cont,k;
- FILE *filePizzino;
- Pizzino pizzino;
- char soluzione[NCODICI];
- int i,j,v[NCODICI];
- filePizzino = fopen("Dati di input.txt","r");
- if(filePizzino){
- if(fgetc(filePizzino)!=EOF){
- rewind(filePizzino);
- apriPizzino(filePizzino,&pizzino);
- for(i=0;i<pizzino.n;i++){
- cont=0;
- for(j=0;j<pizzino.n;j++){
- cont=cont+isAnagramma(pizzino.codice[i].sequenza,pizzino.codice[j].sequenza);
- }
- v[i]=cont;
- }
- for(i=0;i<pizzino.n;i++){
- soluzione[i]=pizzino.codice[i].sequenza[v[i]-1];
- }
- filePizzino=fopen("Dati di output.txt","w");
- fprintf(filePizzino,"%s",soluzione);
- fclose(filePizzino);
- }
- else{
- filePizzino=fopen("Dati di output.txt","w");
- fprintf(filePizzino,"File di input vuoto");
- fclose(filePizzino);
- }
- }
- else{
- printf("\nFile Dati di input.txt non trovato.\n");
- fopen("Dati di input.txt","w");
- printf("Riavviare il programma. Dati di input.txt e' stato creato\n");
- }
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement