Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <cmath>
- using namespace std;
- int binarna_na_dziesietna(string liczba)
- {
- int dl=liczba.size();
- int potega=dl-1;
- int cyfra;
- int liczba_dziesietnie=0;
- for(int j=0; j<dl; j++)
- {
- cyfra=liczba[j]-48;
- liczba_dziesietnie+=cyfra*pow(8,potega);
- potega--;
- }
- return liczba_dziesietnie;
- }
- int main()
- {
- fstream plik;
- plik.open("dane.txt", ios::in);
- if(!plik.good())
- {
- cout<<"Twoj plik nie dziala"<<endl;
- return 0;
- }
- string liczba[5000];
- for(int i=0; i<5000; i++)
- {
- plik>>liczba[i];
- }
- plik.close();
- plik.clear();
- plik.open("wyniki6.txt", ios::out);
- plik<<"a)"<<endl;
- int dl;
- int pierwsza_rowna_ostatniej=0;
- for(int i=0; i<5000; i++)
- {
- dl=liczba[i].size();
- if(liczba[i][0]==liczba[i][dl-1])
- pierwsza_rowna_ostatniej++;
- }
- plik<<"Liczb, w ktorych pierwsza cyfra jest rowna ostatniej jest: "<<pierwsza_rowna_ostatniej<<endl;
- plik<<"b)"<<endl;
- int liczba_dziesietnie;
- int ostatnia, pierwsza;
- pierwsza_rowna_ostatniej=0;
- for(int i=0; i<5000; i++)
- {
- liczba_dziesietnie=binarna_na_dziesietna(liczba[i]);
- ostatnia=liczba_dziesietnie%10;
- liczba_dziesietnie/=10;
- if(liczba_dziesietnie==0)
- pierwsza=ostatnia;
- while(liczba_dziesietnie>0)
- {
- if(liczba_dziesietnie/10==0)
- {
- pierwsza=liczba_dziesietnie%10;
- }
- liczba_dziesietnie/=10;
- }
- if(pierwsza==ostatnia)
- pierwsza_rowna_ostatniej++;
- }
- plik<<"Liczb, w ktorych pierwsza cyfra jest rowna ostatniej jest: "<<pierwsza_rowna_ostatniej<<endl;
- plik<<"c)"<<endl;
- int ciag_niemalejacy=0;
- int spr;
- string mini; //nwm czy tak moze byc, czy lepiej bez ' '
- string maxi;
- for(int i=0; i<5000; i++)
- {
- spr=0;
- dl=liczba[i].size();
- for(int j=1; j<dl; j++)
- {
- if(liczba[i][j-1]<=liczba[i][j])
- spr++;
- else
- break;
- }
- if(spr==dl-1)
- {
- ciag_niemalejacy++;
- if(ciag_niemalejacy==1)
- {
- mini=liczba[i];
- maxi=liczba[i];
- }
- if(liczba[i]<mini)
- mini=liczba[i];
- if(liczba[i]>maxi)
- maxi=liczba[i];
- }
- }
- plik<<"Liczb, w ktorych kazda kolejna cyfra danej liczby nie jest mniejsza od cyfry poprzedzajacej jest: "<<pierwsza_rowna_ostatniej<<endl;
- plik<<"Najwieksza liczba to: "<<maxi<<", a najmniejsza: "<<mini<<endl;
- plik.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement