Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Paint XY-Coordinate Polari- - funzioni.h

funzioni.h

Caricato da: Dany
Scarica il programma completo

  1. //Funzioni:
  2. #include <cmath>
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. //Funzione "Pi di x", ovvero quanti numeri primi da 1 a x.
  7. int Primidi (int a)
  8. {
  9.     int b,d,c;
  10.     b=1;
  11.     d=0;
  12.     while (b<a)
  13.     {
  14.             b++;
  15.             c=2;
  16.             while (((b%c)!=0) && (c<=b))
  17.             c++;
  18.             if (c>=b)
  19.             {
  20.                 d++;
  21.             }
  22.     }
  23.     return d;
  24. }
  25. //Calcola numero divisori
  26. int numdiv (int a)
  27. {
  28.         if (a<0)
  29.                 a=-a;
  30.     int b,c=0;
  31.     b=1;
  32.     while (a>=b)
  33.     {
  34.         if (a%b ==0)
  35.         {
  36.                 c++;
  37.                 b++;
  38.         }
  39.         else b++;  
  40.     }
  41.     return c;
  42. }
  43. //Fattoriale
  44. double facto(int a)
  45. {
  46.       if (a>0)
  47.       {
  48.       int i;
  49.       float b=1;
  50.       for (i=1;i<=a;i++)
  51.       {
  52.           b=b*i;
  53.       }
  54.       return b;
  55.       }
  56. }
  57. //Main
  58. float Fun (char a , float x)
  59. {
  60.       /*Trigonometria*/
  61.       if (a=='s')
  62.          return sin(x);
  63.       if (a=='c')
  64.          return cos(x);
  65.       if (a=='t')
  66.          return tan(x);
  67.       if (a=='a')
  68.          return asin(x);
  69.       if (a=='b')
  70.          return acos(x);
  71.       if (a=='d')
  72.          return atan(x);
  73.       if (a=='h')
  74.          return sinh(x);
  75.       if (a=='i')
  76.          return cosh(x);
  77.       if (a=='j')
  78.          return tanh(x);
  79.       /*Logaritmi*/
  80.       if (a=='L')
  81.          return log10(x);
  82.       if (a=='N')
  83.          return log(x);
  84.       if (a=='D')
  85.          return (log(x))/(log(2.0));
  86.       /*Varie*/
  87.       if (a=='A')
  88.          return fabs(x);
  89.       if (a=='I')
  90.          return (int(x));
  91.       if (a=='P')
  92.          return Primidi(x);
  93.       if (a=='!')
  94.          return facto(int(x));
  95.       if (a=='V')
  96.          return numdiv(int(x));
  97.       /*Algebra*/
  98.       if (a=='R')
  99.          return sqrt(x);
  100.       if (a=='C')
  101.          return pow(float(x),float((1/3.0)));
  102.       if (a=='Q')
  103.          return pow(float(x),float((1/5.0)));
  104. }
  105. //Funione a tre parametri char che come risultato ridà il carattere-funzione da mettere nell'rpn
  106. char charfun (char a, char b, char c)
  107. {
  108.         int bo=0;
  109.         /*Trigonometria*/
  110.         if ((a=='s')&&(b=='i')&&(c=='n')){bo++;
  111.                 return 's';}
  112.         if ((a=='c')&&(b=='o')&&(c=='s')){bo++;
  113.                 return 'c';}
  114.         if ((a=='t')&&(b=='a')&&(c=='n')){bo++;
  115.                 return 't';}
  116.         if ((a=='a')&&(b=='s')&&(c=='i')){bo++;
  117.                 return 'a';}
  118.         if ((a=='a')&&(b=='c')&&(c=='s')){bo++;
  119.                 return 'b';}
  120.         if ((a=='a')&&(b=='t')&&(c=='g')){bo++;
  121.                 return 'd';}
  122.         if ((a=='s')&&(b=='n')&&(c=='h')){bo++;
  123.                 return 'h';}
  124.         if ((a=='c')&&(b=='s')&&(c=='h')){bo++;
  125.                 return 'i';}
  126.         if ((a=='t')&&(b=='a')&&(c=='h')){bo++;
  127.                 return 'j';}
  128.         /*Logaritmi*/
  129.         if ((a=='l')&&(b=='o')&&(c=='g')){bo++;
  130.                 return 'L';}
  131.         if ((a=='l')&&(b=='n')&&(c=='e')){bo++;
  132.                 return 'N';}
  133.         if ((a=='l')&&(b=='o')&&(c=='d')){bo++;
  134.                 return 'D';}
  135.         /*Varie*/
  136.         if ((a=='a')&&(b=='s')&&(c=='s')){bo++;
  137.                 return 'A';}
  138.         if ((a=='i')&&(b=='n')&&(c=='t')){bo++;
  139.                 return 'I';}
  140.         if ((a=='p')&&(b=='r')&&(c=='m')){bo++;
  141.                 return 'P';}
  142.         if ((a=='f')&&(b=='a')&&(c=='c')){bo++;
  143.                 return '!';}
  144.         if ((a=='d')&&(b=='i')&&(c=='v')){bo++;
  145.                 return 'V';}
  146.         /*Algebra*/
  147.         if ((a=='r')&&(b=='a')&&(c=='d')){bo++;
  148.                 return 'R';}
  149.         if ((a=='r')&&(b=='a')&&(c=='c')){bo++;
  150.                 return 'C';}
  151.         if ((a=='r')&&(b=='a')&&(c=='q')){bo++;
  152.                 return 'Q';}
  153.         if (bo==0)
  154.         {
  155.                 return NULL;
  156.         }
  157.  
  158. }