Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #define FILE_NAME "liczby.txt"
- using namespace std;
- bool ismorezerosthansones(string a){
- int z = 0;
- int o = 0;
- for(int i = 0; a[i]!='\0'; i++){
- if(a[i] == '0') z++;
- if(a[i] == '1') o++;
- }
- return z > o ? true : false;
- }
- bool isdivideby2(string a){
- return a[a.size()-1] == '0' ? true : false;
- }
- bool isdivideby8(string a){
- if(a.size()<3) return false;
- int e = a.size()-1;
- if(a[e] == '0' && a[e-1] == '0' && a[e-2] == '0') return true;
- else return false;
- }
- bool isbigger(string a, string b){ //is a > b
- if(a.size()>b.size()) return true;
- if(a.size()<b.size()) return false;
- for(int p = a.size()-1; p>=0; p--){
- if(a[p] != b[p]){
- if(a[p] == '1') return true;
- else return false;
- }
- }
- }
- //by grzeca
- int main(int argc, char* argv[])
- {
- int morezerosthansones = 0;
- int divideby2 = 0;
- int divideby8 = 0;
- string minimum = "";
- string maximum = "";
- int minline = 0;
- int maxline = 0;
- int linecounter = 1;
- fstream file;
- file.open(FILE_NAME, fstream::in);
- if(file.good()){
- while(!file.eof()){
- char buf[255]; file.getline(buf, 255); string num = buf;
- if(ismorezerosthansones(num)) morezerosthansones++;
- if(isdivideby2(num)) divideby2++;
- if(isdivideby8(num)) divideby8++;
- if(isbigger(num,maximum)){ maximum = num; maxline = linecounter; }
- if(isbigger(minimum,num)){ minimum = num; minline = linecounter; }
- linecounter++;
- }
- }
- file.close();
- cout<<"== Wynik ======================================="<<endl;
- cout<<" Ilosc liczb..."<<endl;
- cout<<" ktore maja wiecej zer niz jedynek : "<<morezerosthansones<<endl;
- cout<<" podzielnych przed 2 : "<<divideby2<<endl;
- cout<<" podzielnych przed 8 : "<<divideby8<<endl;
- cout<<" Najmniejsza liczba to : "<<minimum<<endl;
- cout<<" Wystapila ona na linii : "<<minline<<endl;
- cout<<" Najwieksza liczba to : "<<maximum<<endl;
- cout<<" Wystapila ona na linii : "<<maxline<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement