Advertisement
Guest User

maturka2013

a guest
Feb 23rd, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. int binarna_na_dziesietna(string liczba)
  9. {
  10.     int dl=liczba.size();
  11.     int potega=dl-1;
  12.     int cyfra;
  13.     int liczba_dziesietnie=0;
  14.     for(int j=0; j<dl; j++)
  15.     {
  16.         cyfra=liczba[j]-48;
  17.         liczba_dziesietnie+=cyfra*pow(8,potega);
  18.         potega--;
  19.     }
  20.     return liczba_dziesietnie;
  21. }
  22.  
  23. int main()
  24. {
  25.     fstream plik;
  26.     plik.open("dane.txt", ios::in);
  27.     if(!plik.good())
  28.     {
  29.         cout<<"Twoj plik nie dziala"<<endl;
  30.         return 0;
  31.     }
  32.  
  33.     string liczba[5000];
  34.  
  35.     for(int i=0; i<5000; i++)
  36.     {
  37.         plik>>liczba[i];
  38.     }
  39.  
  40.     plik.close();
  41.     plik.clear();
  42.  
  43.     plik.open("wyniki6.txt", ios::out);
  44.     plik<<"a)"<<endl;
  45.  
  46.     int dl;
  47.     int pierwsza_rowna_ostatniej=0;
  48.  
  49.     for(int i=0; i<5000; i++)
  50.     {
  51.         dl=liczba[i].size();
  52.         if(liczba[i][0]==liczba[i][dl-1])
  53.             pierwsza_rowna_ostatniej++;
  54.     }
  55.  
  56.     plik<<"Liczb, w ktorych pierwsza cyfra jest rowna ostatniej jest: "<<pierwsza_rowna_ostatniej<<endl;
  57.  
  58.     plik<<"b)"<<endl;
  59.     int liczba_dziesietnie;
  60.     int ostatnia, pierwsza;
  61.     pierwsza_rowna_ostatniej=0;
  62.  
  63.     for(int i=0; i<5000; i++)
  64.     {
  65.         liczba_dziesietnie=binarna_na_dziesietna(liczba[i]);
  66.         ostatnia=liczba_dziesietnie%10;
  67.         liczba_dziesietnie/=10;
  68.         if(liczba_dziesietnie==0)
  69.             pierwsza=ostatnia;
  70.         while(liczba_dziesietnie>0)
  71.         {
  72.             if(liczba_dziesietnie/10==0)
  73.             {
  74.                 pierwsza=liczba_dziesietnie%10;
  75.             }
  76.             liczba_dziesietnie/=10;
  77.         }
  78.  
  79.         if(pierwsza==ostatnia)
  80.             pierwsza_rowna_ostatniej++;
  81.     }
  82.     plik<<"Liczb, w ktorych pierwsza cyfra jest rowna ostatniej jest: "<<pierwsza_rowna_ostatniej<<endl;
  83.  
  84.     plik<<"c)"<<endl;
  85.     int ciag_niemalejacy=0;
  86.     int spr;
  87.     string mini; //nwm czy tak moze byc, czy lepiej bez ' '
  88.     string maxi;
  89.     for(int i=0; i<5000; i++)
  90.     {
  91.         spr=0;
  92.         dl=liczba[i].size();
  93.         for(int j=1; j<dl; j++)
  94.         {
  95.             if(liczba[i][j-1]<=liczba[i][j])
  96.                 spr++;
  97.             else
  98.                 break;
  99.         }
  100.         if(spr==dl-1)
  101.         {
  102.            ciag_niemalejacy++;
  103.            if(ciag_niemalejacy==1)
  104.            {
  105.                mini=liczba[i];
  106.                maxi=liczba[i];
  107.            }
  108.             if(liczba[i]<mini)
  109.                 mini=liczba[i];
  110.             if(liczba[i]>maxi)
  111.                 maxi=liczba[i];
  112.  
  113.         }
  114.     }
  115.     plik<<"Liczb, w ktorych kazda kolejna cyfra danej liczby nie jest mniejsza od cyfry poprzedzajacej jest: "<<pierwsza_rowna_ostatniej<<endl;
  116.     plik<<"Najwieksza liczba to: "<<maxi<<", a najmniejsza: "<<mini<<endl;
  117.  
  118.  
  119.     plik.close();
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement