Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4.  
  5. void rownanie()
  6. {
  7.     int a, b, c;
  8.     float delta;
  9.     printf_s("Podaj wspolczynniki a b c rownania kwadratowego\n");
  10.     scanf_s("%d %d %d", &a, &b, &c);
  11.     printf_s("a=%d b=%d c=%d \n", a, b, c);
  12.     delta = (b * b) - (4 * a * c);
  13.  
  14.     if (a == 0)
  15.     {
  16.         printf_s(" rownanie nie jest kwadratowe ");
  17.     }
  18.     else
  19.     {
  20.         if (delta > 0)
  21.         {
  22.             float x1, x2;
  23.             x1 = (-b + sqrt(delta)) / 2 * a;
  24.             x2 = (-b - sqrt(delta)) / 2 * a;
  25.             printf_s("Pierwsze rozwiazanie x: %f\n", x1);
  26.             printf_s("Drugie rozwiazanie x: %f\n", x2);
  27.         }
  28.         else
  29.         {
  30.             if (delta == 0)
  31.             {
  32.                 float x3;
  33.                 x3 = -b / (2 * a);
  34.                 printf_s("Jedno rozwiazanie x: %f\n", x3);
  35.             }
  36.             else
  37.             {
  38.                 if (delta < 0)
  39.                 {
  40.                     printf_s("Brak rozwiazan, delta jest ujemna\n");
  41.                 }
  42.             }
  43.         }
  44.     }
  45. }
  46.  
  47. void kwadraty()
  48. {
  49.     int n;
  50.     long int suma = 0;
  51.     long int liczba = 0;
  52.     printf_s("Podaj ilosc liczb, ktore chcesz podniesc do kwadratu i dodac \n");
  53.     scanf_s("%d", &n);
  54.     if (n < 1)
  55.     {
  56.         printf_s("Wystapil blad . Liczba powinna byc nieujemna\n");
  57.     }
  58.     else
  59.     {
  60.         while (liczba <= n)
  61.         {
  62.             suma = suma + (liczba * liczba);
  63.             liczba++;
  64.         }
  65.         printf_s("Suma kwadratow jest rowna %ld", suma);
  66.     }
  67. }
  68.  
  69. int  pierwsze(m)
  70. {
  71.     int i;
  72.     int licznik = 0;
  73.     int j = 2;
  74.     if (m == 1 || m == 0)
  75.     {
  76.         printf_s("Nie ma liczby pierwszej w tym zakresie.\n");
  77.     }
  78.     else
  79.     {
  80.         while (j <= m)
  81.         {
  82.  
  83.             for (i = 2; i <= sqrt(j); i++)
  84.             {
  85.                 if (j % i == 0)
  86.                     break;
  87.             }
  88.             if (i > sqrt(j))
  89.             {
  90.                 licznik++;
  91.                 printf_s("%d ", j);
  92.                 j++;
  93.  
  94.                 if (licznik % 15 == 0)
  95.                 {
  96.                     printf_s(" \n");
  97.                 }
  98.             }
  99.             else
  100.             {
  101.                 j++;
  102.             }
  103.         }
  104.     }
  105. }
  106.  
  107. void zamien(char* tab, int dlugosc)
  108. {
  109.     for (int i = 0; i <= dlugosc - 1; i++)
  110.         printf_s("%d ", tab[i]);
  111. }
  112.  
  113. int calkowita(char* ciagZnakow)
  114. {
  115.     int dlugosc = 0;
  116.     int slowo = 48;
  117.     int i = 0;
  118.     dlugosc = strlen(ciagZnakow);
  119.  
  120.     while (slowo >= 48 && slowo <= 57)
  121.     {
  122.         slowo = (int)ciagZnakow[i];
  123.         ++i;
  124.     }
  125.  
  126.     --i;
  127.  
  128.     if (i == dlugosc)
  129.         return 1;
  130.     else
  131.         return 0;
  132. }
  133.  
  134. int main()
  135. {
  136.     char tab[100];
  137.     int  m=0;
  138.     char opcja;
  139.     bool wyjscie = false;
  140.  
  141.     while (!wyjscie)
  142.     {
  143.  
  144.         printf_s("\n\nWybierz numer operacji ktora chcesz wykonac:\n1.Sprawdzenie czy liczba jest calkowita.\n2.Wypisanie liczb pierwszych z wybranego zakresu.\n3.Funkcja kwadraty.\n4.Funkcja zamien.\n5.Funkcja rownanie.\n6.Wyjscie\n");
  145.         scanf_s(" %c", &opcja);
  146.  
  147.         switch (opcja)
  148.         {
  149.         case '1':
  150.             while (1)
  151.             {
  152.                 printf_s("\nPodaj liczbe: \n");
  153.                 scanf_s("%s", tab);
  154.                 int x = calkowita(tab);
  155.                 if (x == 1)
  156.                 {
  157.                     printf_s("Liczba jest calkowita");
  158.                     break;
  159.                 }
  160.                 else
  161.                 {
  162.                     printf_s("Podany ciag znakow nie jest liczba calkowita. Sproboj jeszcze raz");
  163.                 }
  164.             }
  165.             break;
  166.         case '2':
  167.             printf_s("Podaj zakres do ktorego maja byc wypisane liczby pierwsze <= 700\n");
  168.             while (1)
  169.             {
  170.                 scanf_s("%d", &m);
  171.                 if (m <= 700)
  172.                 {
  173.                     pierwsze(m);
  174.                     break;
  175.                 }
  176.                 else
  177.                     printf_s("%d jest wieksze od 700, podaj poprawna liczbe: \n", m);
  178.             }
  179.             break;
  180.         case '3':
  181.             kwadraty();
  182.             break;
  183.         case '4':
  184.             printf_s("\nPodaj ciag znakow, ktory chesz przetlumaczyc na kod ASCII:\n");
  185.             char* tab1;
  186.             int x;
  187.             int dlugosc;
  188.             tab1 = malloc(sizeof(char) * (100));
  189.  
  190.             if (tab == NULL)
  191.                 printf_s("error");
  192.             else
  193.             {
  194.                 scanf_s("%s", tab1);
  195.                 dlugosc = strlen(tab1);
  196.  
  197.                 tab1 = realloc(tab1, sizeof(char) * dlugosc);
  198.                 zamien(tab1, dlugosc);
  199.  
  200.                 free(tab1);
  201.             }
  202.             break;
  203.         case '5':
  204.             rownanie();
  205.             break;
  206.         case '6':
  207.             wyjscie = true;
  208.             break;
  209.  
  210.         default:
  211.             printf_s("Error! Podaj odpowiedni znak:");
  212.             break;
  213.         }
  214.     }
  215.     return 0;
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement