Я хочу написать программу, которая берет слово от пользователя и делится с ним анаграммами в файле.Я хочу сделать в MPI.Но я не знаю, как мне читать текст файла.Это то, что я пишу в данный момент.
Что мне делать?Я думаю о MPI Scatter & Gather, но как?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <conio.h>
#include <mpi.h>
bool if_anagram(char *a, char *b)
{
int dl1 = strlen(a), dl2 = strlen(b);
if(dl1!=dl2)return false;
int licz[0x100]={};
for(int i=0;i<dl1;i++)
licz[(unsigned char) a[i]]++;
for(int i=0;i<dl1;i++)
licz[(unsigned char) b[i]]--;
for(int i=0;i<256;i++)
if(licz[i]!=0)
return false;
return true;
}
int main(int argc, char** argv) {
char a[101], b[101];
FILE *pFile;
MPI_Init(NULL, NULL);
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
pFile=fopen("slowa852.txt","r");
printf("Put word to share: ");
scanf ("%s", a);
if (pFile != NULL){
while ( fscanf (pFile,"%s",b) == 1) {
if(if_anagram(a,b))
printf("Word %s is anagram!\n", b);
}
fclose(pFile);
}
else{
printf("It cant open file.\n");
}
MPI_Finalize();
}