Advertisement
bartek27210

Untitled

Oct 10th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.80 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5. #include<string.h>
  6.  
  7. /* Lab1 */
  8.  
  9. using namespace std;
  10.  
  11. int silnia(int n);  
  12. void pierwiastki();
  13. int fibo(int n);
  14. void podwajanie(char* tekst);
  15. int licz_znaki(char* tekst, char znak);
  16. char *napis_odwrotnie(char* tekst);
  17. void sortb(double *tab, int n);
  18. int main() {
  19.     double tab[50];
  20.     char tekst[80];
  21.     int i,n;
  22.     char znak;
  23.     int liczba;
  24.     cout<<"podaj liczbe, dla ktorej obliczyc silnie i liczby fibonacciego: ";
  25.     cin>>liczba;
  26.     cout<<"silnia= " << silnia(liczba)<<endl;
  27.     cout<<"liczba fibonacciego= " << fibo(liczba)<<endl;
  28.     pierwiastki();
  29.     cout<<"Podaj jakis tekst= "<<endl;
  30.     cin>>tekst;
  31.     podwajanie(tekst);
  32.     cout<<"\nJaki znak policzyc? "<<endl;
  33.     cin>>znak;
  34.     cout<<"Znak "<<znak<<" w podanym przez Ciebie tekscie wystapil: "
  35.         <<licz_znaki(tekst,znak)<<" razy"<<endl;
  36.     cout<<"\nTwoj napis wspak to: "<<napis_odwrotnie(tekst)<<endl;
  37.     cout<<"Ile pobrac liczb? "<<endl;
  38.     cin>>n;
  39.     for(i=1;i<=n;i++)
  40.     {
  41.         cout<<"\nPodaj liczbe nr "<<i<<":"<<endl;
  42.         cin>>tab[i-1];
  43.     }
  44.     cout<<"Dzieki, teraz posortuje rosnaco!"<<endl;
  45.     sortb(tab,n);
  46.     for(i=0;i<n;i++)
  47.     {
  48.         cout<<tab[i]<<endl;
  49.     }
  50.  
  51.     system("pause");
  52.     return 0;
  53. }
  54. int silnia(int n)
  55. {
  56.     int i, wynik=1;
  57.     for(i=1;i<=n;i++)wynik=wynik*i;
  58.     return wynik;
  59. }
  60. void pierwiastki() {
  61.     printf("\nRozwiazywanie rownania kwadratowego ax^2+bx+c=0\n");
  62.     double a,b,c, delta;
  63.     printf("Podaj a: ");
  64.     cin>>a;
  65.     printf("Podaj b: ");
  66.     cin>>b;
  67.     printf("Podaj c: ");
  68.     cin>>c;
  69.     delta=b*b-4.0*a*c;
  70.     if (delta == 0)cout<<"x0= "<<-b/(2*a)<<endl;
  71.     else if (delta > 0) {
  72.         delta = sqrt(delta);
  73.         cout<<"x1= "<<(-b+delta)/(2*a)<<endl
  74.             <<"x2= "<<(-b-delta)/(2*a)<<endl;
  75.     }
  76.     else {
  77.         cout<<"\nDelta= "<<delta<<endl;
  78.         delta = -delta;
  79.         delta = sqrt(delta);
  80.         cout<<"x1= "<<-b/2*a<<" + i"<<delta/2*a<<endl
  81.             <<"x2= "<<-b/2*a<<" - i"<<delta/2*a<<endl;
  82.     }
  83.  
  84. }
  85. int fibo(int n){
  86.  
  87.  if (n==0) return 0;
  88.  if (n==1) return 1;
  89.  
  90.  return fibo(n-1)+fibo(n-2);
  91.  
  92. }
  93.  
  94. void podwajanie(char* tekst){
  95.     int i=0;
  96.  
  97.     while(tekst[i]!='\0'){
  98.         cout<<tekst[i]<<tekst[i];
  99.         i++;
  100.     }
  101. }
  102. int licz_znaki(char* tekst, char znak)
  103. {
  104.     int ilosc=0,i=0;
  105.  
  106.     while(tekst[i]!='\0')
  107.     {
  108.         if(tekst[i]==znak) ilosc++;
  109.         i++;
  110.     }
  111.     return ilosc;
  112. }
  113.  
  114. char *napis_odwrotnie(char* tekst)
  115. {
  116.     char *i= tekst, *j, temp;
  117.     j=&tekst[strlen(tekst)-1];
  118.  
  119.     while(i<j)
  120.     {
  121.         temp=*i;
  122.         *i=*j;
  123.         *j=*i;
  124.         ++i;
  125.         --j;
  126.     }
  127.     return tekst;
  128. }
  129.  
  130. void sortb(double tab[], int n)
  131. {
  132.     int i, j;
  133.     double temp;
  134.     for (i = 0; i<n; i++)
  135.     {
  136.         for (j=0; j<n-1-i; j++)
  137.         {
  138.             if (tab[j] > tab[j+1])
  139.             {
  140.                 temp = tab[j+1];
  141.                 tab[j+1] = tab[j];
  142.                 tab[j] = temp;
  143.             }
  144.         }
  145.     }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement