Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////main.c
- #include <stdio.h>
- #include "func.h"
- int main(void)
- {
- int rezult;
- char fname1[256];
- char fname2[256];
- printf("Please, enter first file name: ");
- scanf("%255s", fname1);
- printf("Please, enter second file name: ");
- scanf("%255s", fname2);
- rezult = func(fname1, fname2);
- if (rezult == 1) {
- printf("Yes\n");
- }
- else if (rezult == 0) {
- printf("No\n");
- }
- else {
- printf("Error\n");
- }
- switch (rezult)
- {
- case -6:
- printf("Second sequence is bigger, then first!\n");
- break;
- case -5:
- printf("First sequence is bigger, then second!\n");
- break;
- case -4:
- printf("There is not enough elements!\n");
- break;
- case -3:
- printf("Sequence is empty!\n");
- break;
- case -2:
- printf("Error in reading from file!\n");
- break;
- case -1:
- printf("Can't open file!\n");
- break;
- case 0:
- printf("No, it is not so.\n");
- break;
- case 1:
- printf("Yes, it is so.\n");
- break;
- }
- return 0;
- }
- //// func.c
- #include <stdio.h>
- #include <math.h>
- #include "func.h"
- int func(char* fname1, char* fname2)
- {
- int flag;
- double tmp1_1;
- double tmp1_2;
- double tmp1_3;
- double tmp2_1;
- double tmp2_2;
- double tmp2_3;
- FILE* fin1;
- FILE* fin2;
- fin1 = fopen(fname1, "r");
- if (!fin1)
- return -1;
- fin2 = fopen(fname2, "r");
- if (!fin2)
- {
- fclose(fin1);
- return -1;
- }
- if (fscanf(fin1, "%lf", &tmp1_1) != 1)
- {
- if (!feof(fin1))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -3;
- }
- }
- if (fscanf(fin2, "%lf", &tmp2_1) != 1)
- {
- if (!feof(fin2))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -3;
- }
- }
- if (fscanf(fin1, "%lf", &tmp1_2) != 1)
- {
- if (!feof(fin1))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -4;
- }
- }
- if (fscanf(fin2, "%lf", &tmp2_2) != 1)
- {
- if (!feof(fin2))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -4;
- }
- }
- flag = 0;
- while (1)
- {
- if (fscanf(fin1, "%lf", &tmp1_3) != 1)
- {
- if (!feof(fin1))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else if (fscanf(fin2, "%lf", &tmp2_3) != 1)
- {
- if (!feof(fin2))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- if (flag == 0)
- return -4;
- else
- return 1;
- }
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -6;
- }
- }
- if (fscanf(fin2, "%lf", &tmp2_3) != 1)
- {
- if (!feof(fin2))
- {
- fclose(fin1);
- fclose(fin2);
- return -2;
- }
- else
- {
- fclose(fin1);
- fclose(fin2);
- return -5;
- }
- }
- if (fabs(tmp2_2 - 0.5 * (tmp1_1 + tmp1_3)) > 1e-100)
- {
- fclose(fin1);
- fclose(fin2);
- return 0;
- }
- else
- flag = 1;
- tmp1_1 = tmp1_2;
- tmp1_2 = tmp1_3;
- tmp2_1 = tmp2_2;
- tmp2_2 = tmp2_3;
- }
- }
- ////func.h
- int func(char* fname1, char* fname2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement