SHARE
TWEET

Michal Krob Domaci ukol programovani

a guest Dec 3rd, 2019 79 in 3 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /******************************************************************************
  2.  
  3. Michal Krob 2019
  4. Domaci ukol "pravouhly trojuhelnik"
  5.  
  6. *******************************************************************************/
  7. // Standardni knihovna
  8. #include <stdio.h>
  9.  
  10. // Knihovna obsahujici radici funkci "qsort"
  11. #include <stdlib.h>
  12.  
  13. // Knihovna obsahujici matematickou funkci s mocninou "pow"
  14. #include <math.h>
  15.  
  16. // Knihovna obsahujici bool promenne pro logicke true/false hodnoty
  17. #include <stdbool.h>
  18.  
  19. /**
  20.  * Tato funkce slouzi jako porovnavaci funkce pro serazovaci knihovni funkci qsort
  21.  */
  22. int cmpfunc (const void * a, const void * b) {
  23.    return ( *(double*)a - *(double*)b );
  24. }
  25.  
  26. /**
  27.  * Hlavni funkce programu, program neoveruje spravnost vstupu, pocita s kladnymi cisly
  28.  */
  29. int main()
  30. {
  31.     // Zde je pole jednotlivych stran
  32.     double sides[3];
  33.    
  34.     printf("Tento program vam zjisti, zda ze zadanych stran A,B,C lze sestavit pravouhly trojuhelnik\n");
  35.     printf("Budete postupne vyzvani k zadani jednotlivych stran\n\n");
  36.  
  37.     printf("Zadejte delku strany A:\n");
  38.     scanf("%lf",&sides[0]);
  39.    
  40.     printf("Zadejte delku strany B:\n");
  41.     scanf("%lf",&sides[1]);
  42.    
  43.     printf("Zadejte delku strany C:\n");
  44.     scanf("%lf",&sides[2]);
  45.    
  46.     printf("Velikost strany [A] = %lf, [B] = %lf, [C] = %lf\n", sides[0], sides[1], sides[2]);
  47.    
  48.     printf("Nyni strany seradime\n");
  49.    
  50.     // Nejdrive nactene strany seradime, abychom si zjednodusili overeni pythagorovy vety
  51.     qsort(sides, 3, sizeof(double), cmpfunc);
  52.    
  53.     printf("Strany byly uspesne serazeny od nejmensi po nejvets:\n");
  54.     printf("Strany po serazeni [A] = %lf, [B] = %lf, [C] = %lf\n", sides[0], sides[1], sides[2]);
  55.    
  56.    
  57.     // Pote zjistime, zda plati doplneni do pythagorovy vety
  58.     printf("Nyni overime, zda A^2 + B^2 = C^2\n");
  59.    
  60.     // ZDE pomoci matematicke funkce overujeme zda a na druhou + b na druhou se rovna c na druhou
  61.     bool isTriangleRightSided = ( ( pow(sides[0],2) + pow(sides[1],2) ) == pow(sides[2],2) );
  62.    
  63.     if(isTriangleRightSided) {
  64.         printf ("Trojuhelnik s delkou zadanych stran JE pravouhly\n");
  65.     } else {
  66.         printf ("Trojuhelnik s delkou zadanych stran NENI pravouhly\n");
  67.     }
  68.    
  69.     return 0;
  70. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top