Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.39 KB | None | 0 0
  1. /*#include <stdio.h>
  2.  
  3.  
  4. // deklaracja funkcji
  5. void prosta_funkcja( int test );
  6. void main (void)
  7. {
  8. int test=5;
  9. printf("przed wywołaniem prostej funkcji:%d\n", test);
  10. // wywołanie funkcji
  11. prosta_funkcja(test);
  12. printf("po powrocie z prostej funkcji:%d\n", test);
  13. }
  14. void prosta_funkcja( int test ){
  15. test=10;
  16. printf("wewnątrz prostej funkcji:%d\n", test);
  17. return;
  18. }
  19. */
  20.  
  21. #include <stdio.h>
  22. #include <math.h>
  23.  
  24. #define ACCURACY (1.e-5) //do przeprowadzenia obliczeń i sprawdzenia dokładoności wyniku
  25. double pierw(double liczba);
  26. double liczba;
  27. double pierwiastek;
  28.  
  29. void main(void)
  30. {
  31.     for(;;)
  32.     {
  33.         printf("podaj wartosc liczby dodatniej (-1 wylacza program):\n");
  34.         scanf("%lf",&liczba);
  35.         if (liczba <0.0) break;
  36.  
  37.         pierw(liczba);
  38.         printf("\nliczba %20.15 lf, zalozona dokl obliczania pierwiastka: %20.15lf\n",liczba ,ACCURACY);
  39.         printf("\tpierwiastek liczby: obliczony %20.15lf,dokładny %20.15lf\n",pierwiastek,sqrt(liczba));
  40.         printf("\tblad bezwzgledny: %20.15lf,blad wzgledny : %20.15lf\n",pierwiastek- sqrt(liczba),(pierwiastek-sqrt(liczba))/sqrt(liczba));
  41.     }
  42.  
  43.     }
  44.  
  45. double pierw(double liczba)
  46. {
  47.  pierwiastek =1.0;
  48.  double temp;
  49.     do{
  50.         temp =pierwiastek;
  51.         pierwiastek =0.5*(temp + liczba/temp );
  52.     }
  53.     while(fabs(pierwiastek*pierwiastek)-liczba/liczba>ACCURACY);
  54.         return pierwiastek;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement