Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <math.h>
  5.  
  6. void help()
  7. {
  8.     printf("operace - první argument: \n"
  9.     "\t select:z tabulky vybere a vytiksne hodnoty daných bunek\n"
  10.     "\t min:vyhledani a tisk min hodnoty z daneho rozsahu bunek\n"
  11.     "\t max:vyhledani a tisk max hodnoty z daneho rozsahu bunek\n"
  12.     "\t sum:vypocet a tisk sumy hodnot vsech vybranych bunek\n"
  13.     "\t avg:vypocet a tisk aritmetického prumeru vybranych bunek\n"
  14.     "vyber_bunek nebo-li rozsah tabulky, druha argument: \n"
  15.     "\t row: X znaci vyber vsech bunek na radku X (X > 0)\n"
  16.     "\t col: X znaci vyber vsech bunek ve sloupci X (X > 0)\n"
  17.     "\t rows: X Y znaci vyber vsech bunek od radku X (vcetne) po Y (vcetne)0 < X <= Y\n"
  18.     "\t cols: X Y znaci vyber vsech bunek od sloupce X (vcetne)po Y (vcetne)0 < X <= Y\n"
  19.     "\t range: A B X Y znaci vyber vsech bunek od radku A po radek B a rozsahu sloupcu <X;Y>, 0 < A <= B, 0 < X <= Y\n");
  20.  
  21. }
  22.  
  23. double cfrac_tan(double x, int n)
  24. {
  25.     double result = 0;
  26.     double liche;
  27.     // prvotni clen
  28.     liche = n*2-1;
  29.  
  30.     double delenec;
  31.  
  32.     delenec = 1/x;
  33.  
  34.     double vysledek;
  35.  
  36.     int i;
  37.  
  38.     for (i = n; i>0; i--){
  39.         vysledek = liche*delenec;
  40.         liche = liche-2;
  41.         // počitame "od zadu" v zretezenm zlomku
  42.         // delime 1.0 pořád dokola
  43.         result = 1.0/(vysledek - result);
  44.         //printf("%e\n",result);
  45.     }
  46.  
  47.     return result;
  48. }
  49.  
  50.  
  51. double taylor_tan(double x, int n)
  52. {
  53.     double clen = x;
  54.     double soucet = x;
  55.  
  56.     // citatele koeficienty
  57.     double pole1[13] = {1, 1, 2, 17, 62, 1382, 21844, 929569, 6404582, 443861162, 18888466084, 113927491862, 58870668456604};
  58.     double pole2[13] = {1, 3, 15, 315, 2835, 155925, 6081075, 638512875, 10854718875, 1856156927625, 194896477400625, 49308808782358125, 3698160658676859375};
  59.  
  60.     for (int i = 1; i < n; i++){
  61.         // pocita nasledujici clen x^1, x^3, x^5
  62.         clen *= (x*x);
  63.         // vypocet dle vzorce klasickeho
  64.         soucet += (pole1[i]/pole2[i]*clen);
  65.     }
  66.  
  67.     return soucet;
  68. }
  69.  
  70.  
  71. double delka (double a, double c)
  72. {
  73.     // vypocet dle goniometrických fci v pravouhlem trojuhelniku
  74.     double vzdalenost = c/cfrac_tan( a, 10);
  75.     return vzdalenost;
  76. }
  77.  
  78.  
  79. double vyska (double a, double b, double c)
  80. {
  81.     // vypocet dle goniometrickych fci v pravouhlem trojuhelniku
  82.     double vyska = delka(a,c)*cfrac_tan(b,10)+c;
  83.     return vyska;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement