Advertisement
Guest User

task

a guest
Oct 21st, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.08 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. /*FILE*;
  4. fopen(const char *, ...);
  5. fclose(FILE*);
  6. fscanf(FILE*, const char *, ...);
  7. fprintf(FILE*, const char *, ...);
  8. feof(FILE*);*/
  9. double myabs(double n);
  10. int number (const char *, int *,double);
  11. double myabs(double n)
  12. {
  13.     return n>0?n:-n;
  14. }
  15. int number (const char *name, int *res,double x)
  16. {
  17.     FILE *fp;
  18.     double y,max;
  19.     int n=1,num=1;
  20.     if (!(fp=fopen(name,"r"))) return -1;
  21.     fscanf(fp,"%lf",&x);
  22.     max=x;
  23.     while (fscanf(fp,"%lf",&y)==1)
  24.     {
  25.         if (y>x)
  26.         {
  27.             max=y;
  28.             num=n++;
  29.         }
  30.         n++;
  31.         x=y;
  32.     }
  33.     if (!feof(fp))
  34.     {
  35.         fclose(fp);
  36.         return -2;
  37.     }
  38.     fclose(fp);
  39.     *res=max;
  40.     return num;
  41. }
  42. int main(void)
  43. {
  44.     const char *fname="a.txt";
  45.     double x;
  46.     int ret,answer;
  47.     ret=number(fname,&answer,x);
  48.     if (ret<0)
  49.     {
  50.         switch (ret)
  51.         {
  52.             case -1:
  53.             printf("Cannot open %s\n",fname);
  54.             break;
  55.             case -2:
  56.             printf("Cannot read %s\n",fname);
  57.             break;
  58.             default:
  59.             printf("Error %d in file %s",ret,fname);
  60.         }
  61.         return 1;
  62.     }else{
  63.     printf("Number=%d, position=%d\n",ret,answer);
  64.     return 0;
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement