Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ProjektPalindrom.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- using namespace std;
- string Dec2bin(int decPodniesionaLiczba, int decLiczba) {
- string binLiczba;
- while (decPodniesionaLiczba) {
- binLiczba = (decPodniesionaLiczba % 2 ? "1" : "0") + binLiczba;
- decPodniesionaLiczba /= 2;
- }
- return binLiczba;
- }
- string wynikOdpowiedniaDlugosc(string binLiczba, int decLiczba) {
- while (binLiczba.length() < decLiczba) {
- binLiczba = "0" + binLiczba;
- }
- return binLiczba;
- }
- //string ifPalindrom(string binLiczba) {
- // if (binLiczba == string(binLiczba.rbegin(), binLiczba.rend())) {
- // cout << binLiczba;
- // }
- // return binLiczba;
- //}
- //string ifPalindrom(string binLiczba, int decLiczba) {
- // string binLiczba2 = binLiczba;
- ///* for (binLiczba.length(); binLiczba.length() <= 1; binLiczba.length() - 1) {
- // cout << binLiczba[binLiczba.length];
- // }*/
- // int a = 0;
- // for (decLiczba; decLiczba >= 1; decLiczba--) {
- // binLiczba[a] = binLiczba[decLiczba - 1];
- // a++;
- // }
- // if(binLiczba2 == binLiczba){
- // cout << binLiczba;
- // }
- // //if (binLiczba == string(binLiczba.rbegin(), binLiczba.rend())) {
- // // cout << binLiczba;
- // //}
- // return binLiczba;
- //}
- void OdejmowanieBinarne(string binLiczba, int decLiczba, int decPodniesionaLiczba) {
- for (; decPodniesionaLiczba >= 0; decPodniesionaLiczba--) {
- string binLiczba = Dec2bin(decPodniesionaLiczba, decLiczba);
- binLiczba = wynikOdpowiedniaDlugosc(binLiczba, decLiczba);
- cout << binLiczba;
- }
- }
- int main() {
- bool odpowiedniaLiczba = false;
- int decLiczba, decPodniesionaLiczba;
- while (cin >> decLiczba) {
- while (!odpowiedniaLiczba) {
- if (decLiczba <= 100 && decLiczba > 0) {
- odpowiedniaLiczba = true;
- }
- else {
- cin >> decLiczba;
- }
- }
- decPodniesionaLiczba = (pow(2.0, decLiczba) - 1);
- string binLiczba = Dec2bin(decPodniesionaLiczba, decLiczba);
- OdejmowanieBinarne(binLiczba, decLiczba, decPodniesionaLiczba);
- cout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement