Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main (int argc, char **argv){
- int n;
- int nCheck; //used to make sure both files are of same length
- int err;
- FILE *words = fopen("words.dat", "r");
- FILE *matrix = fopen("matrix.dat","r");
- FILE *graph = fopen("graph.dot","w+");
- fprintf(graph,"graph {\n\toverlap=scale\n");
- FILE *test = fopen("result.dat","w+");
- err = fscanf(words, "%d\n",&n);
- if (err!=1){
- printf("Error reading file.\n");
- return EXIT_FAILURE;
- }
- char vocab[n*50];
- char *vocabPointer[n];
- for (int i = 0; i<n; i++){
- vocabPointer[i] = vocab + (i*n);
- }
- for (int i = 0; i<n;i++){
- int columnVal = 0;
- char charHold = getc(words);
- while (charHold != EOF){
- if (charHold == '\n'){
- vocabPointer[i][columnVal] = '\n';
- fprintf(test,"\n",vocabPointer[i][columnVal]); //testing for correct array inputs.
- break; //scanning of word complete, break and scan next.
- }
- else if (charHold == ' '){
- vocabPointer[i][columnVal] = '\n';
- charHold = getc(words);
- }
- else{
- vocabPointer[i][columnVal] = charHold;
- fprintf(test,"%c",vocabPointer[i][columnVal]); //testing for correct array inputs.
- charHold = getc(words);
- columnVal++;
- }
- }
- if (charHold == EOF){
- vocabPointer[i][charHold] = '\n';
- }
- }
- fclose(test);
- err = fscanf(matrix,"%d\n",&nCheck);
- if ((err!=1)||(nCheck!=n)){
- printf("Error reading file.\n");
- return EXIT_FAILURE;
- }
- for (int i = 0; i<n; i++){
- for (int j = 0; j<n; j++){
- int firstWord = 0;
- int secondWord = 0;
- int check = 0;
- fscanf(matrix,"%d ", &check);
- if(check==1){
- fprintf(graph,"\t\"");
- while(vocabPointer[i][firstWord]!='\n'){
- fprintf(graph,"%c",vocabPointer[i][firstWord]);
- printf("%c",vocabPointer[i][firstWord]);
- firstWord++;
- }
- printf("\n");
- fprintf(graph,"\" -- \"");
- while(vocabPointer[j][secondWord]!='\n'){
- fprintf(graph,"%c",vocabPointer[j][secondWord]);
- printf("%c",vocabPointer[j][secondWord]);
- secondWord++;
- }
- printf("\n");
- fprintf(graph,"\"\n");
- }
- }
- }
- fprintf(graph,"}");
- fclose(words);
- fclose(matrix);
- fclose(graph);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement