bartek27210

lab1 11.10.2017

Oct 11th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include<math.h>
  4.  
  5. int silnia(int n);
  6. void pierwiastki(double a, double b, double c);
  7. int fibo(int n);
  8. void tekstx2(char* tekst);
  9. int iloscznakow(char* tekst, char znak);
  10.  
  11. int main()
  12. {
  13.     int n;
  14.     int x;
  15.     int zadanie;
  16.     double a, b, c;
  17.     char tekst[100];
  18.     char znak;
  19.     printf("Wybierz dzialanie: \n 1.Silnia\n 2.Rowananie kwadratowe\n 3.Liczba Fibonauciego\n 4.Podwojenie liter\n 5.Ilosc znakow:\n 0.Wyjscie\n:");
  20.     fflush(stdin);
  21.     scanf_s("%d", &zadanie);
  22.     while (zadanie != 0)
  23.     {
  24.         switch (zadanie)
  25.         {
  26.         case 1:
  27.             printf("Podaj liczbe do obliczenia silnii ");
  28.             scanf_s("%d", &n);
  29.             x = silnia(n);
  30.             printf("Silnia z %d wynosi %d\n", n, x);
  31.             break;
  32.  
  33.         case 2:
  34.             printf("Rownanie kwadratowe ax^2+bx+c\n");
  35.             printf("Podaj a\n");
  36.             scanf_s("%lf", &a);
  37.             printf("Podaj b\n");
  38.             scanf_s("%lf", &b);
  39.             printf("Podaj c\n");
  40.             scanf_s("%lf", &c);
  41.             pierwiastki(a, b, c);
  42.             break;
  43.  
  44.         case 3:
  45.             printf("podaj liczbe do obiczenia Fibo ");
  46.             scanf_s("%d", &n);
  47.             x = fibo(n);
  48.             printf("Liczba Fibonacciego o numerze %d wynosi %d\n", n, x);
  49.             break;
  50.  
  51.         case 4:
  52.             printf("Podaj tekst do podwojenia liter \n");
  53.             scanf("%s", &tekst);
  54.             tekstx2(tekst);
  55.             break;
  56.  
  57.         case 5:
  58.             printf("Podaj tekst: \n");
  59.             scanf("%s", &tekst);
  60.             printf("Podaj znak: \n");
  61.             fflush(stdin);
  62.             scanf(" %c",&znak);
  63.             x = iloscznakow(tekst, znak);
  64.             printf("ilosc znakow '%c' w podanym tekscie wynosi: %d", znak,x);
  65.             break;
  66.         }
  67.         printf("\nWybierz dzialanie: ");
  68.         scanf_s("%d", &zadanie);
  69.     }
  70.  
  71.  
  72.     return 0;
  73. }
  74.  
  75. int silnia(int n)
  76. {
  77.     int i, wynik = 1;
  78.     for (i = 2; i <= n; i++)
  79.     {
  80.         wynik = wynik*i;
  81.     }
  82.     return wynik;
  83.  
  84.  
  85. }
  86.  
  87. void pierwiastki(double a, double b, double c)
  88. {
  89.     double delta, r1, r2;
  90.     delta = (b*b) - 4 * a*c;
  91.     if (delta > 0)
  92.     {
  93.         r1 = (-b + sqrt(delta)) / (2 * a);
  94.         r2 = (-b - sqrt(delta)) / (2 * a);
  95.         printf("Pierwiastki rownania kwadratowego wynosza: %lf, %lf\n", r1, r2);
  96.     }
  97.     if (delta == 0)
  98.     {
  99.         r1 = -b / (2 * a);
  100.         printf("Pieriwastek rownania kwadratowego wynosi: %lf\n", r1);
  101.     }
  102.     else printf("Rownanie nie ma rozwiazan\n");
  103. }
  104.  
  105. int fibo(int n)
  106. {
  107.     if (n == 0) return 0;
  108.     if (n == 1) return 1;
  109.     return fibo(n - 2) + fibo(n - 1);
  110. }
  111. void tekstx2(char* tekst)
  112. {
  113.     int i = 0;
  114.     while (tekst[i] != '\0')
  115.     {
  116.         printf("%c%c", tekst[i], tekst[i]);
  117.         i++;
  118.     }
  119. }
  120.  
  121. int iloscznakow(char* tekst, char znak)
  122. {
  123.     int ile = 0, i=0;
  124.     while (tekst[i] != '\0')
  125.     {
  126.         if (tekst[i] == znak)
  127.             ile++;
  128.         i++;
  129.     }
  130.     return ile;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment