Guest User

Программа с указателями функции

a guest
Mar 16th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <locale.h>
  4.  
  5. double f1(float *, int);
  6. double f2(double, long int);
  7. double f3(unsigned int *);
  8. double f4(double, double);
  9.  
  10. double (*func1)(float *, int);
  11. double (*func2)(double, long int);
  12. double (*func3)(unsigned int *);
  13. double (*ff4)(double, double);
  14. double (*func4 (double, double))[3];
  15.  
  16.  
  17. int main()
  18. {
  19.     int a=12; float fl=21; double db=31, db1=45; unsigned int ui=14;
  20.     long int li=430;
  21.     func1=f1; func2=f2; func3=f3;
  22.     //Как здесь привязать f4 к указателю func4 - или может как поменять основное условие  double (*func4 (double, double))[3];
  23.     float *fl1=&fl; unsigned int *ui1=&ui;
  24.     f1(fl1,a); f2(db,li); f3(ui1); func4(db,db)[1];
  25.     func4(db1,db)[2]; func4(db,db1)[3];
  26.  
  27.     printf("\n f1 = %lf || f2 = %lf || f3 = %lf", f1(fl1,a), f2(db,li), f3(ui1));
  28.     printf("\n f4[1] = %lf || f4[2] = %lf || f4[3] = %lf\n", func4(db,db)[1], func4(db1,db)[2], func4(db,db1)[3]);
  29.     getch();
  30. }
  31. double f1(float *a, int b)
  32. {
  33.     double ret = (*a)*(double)b;
  34.     return ret;
  35. }
  36. double f2(double a, long int b)
  37. {
  38.     double ret = a+a+a+(double)b;
  39.     return ret;
  40. }
  41. double f3(unsigned int *a)
  42. {
  43.     unsigned int i;
  44.     for(i=1; i<=(*a); i++)
  45.          i*=i;
  46.     return (double)i;
  47. }
  48. double f4(double a, double b)
  49. {
  50.     double ret = (a+b)/3;
  51.     return ret;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment