Thursday, April 1, 2021

Published April 01, 2021 by Anonymous with 0 comment

Modify an array by sorting after reversal of bits of each array element

  

#include <bits/stdc++.h>

using namespace std;

  

int binaryToDecimal(string n)

{

    string num = n;

    int dec_value = 0;

  

    

    int base = 1;

  

    int len = num.length();

    for (int i = len - 1; i >= 0; i--) {

        if (num[i] == '1')

            dec_value += base;

        base = base * 2;

    }

  

    return dec_value;

}

  

string decimalToBinary(int n)

{

    

    string binstr = "";

  

    while (n > 0) {

  

        

        

        binstr += (n % 2 + 48);

        n = n / 2;

    }

  

    

    

    return binstr;

}

  

int reversedBinaryDecimal(int N)

{

    

    

    string decimal_to_binar

        = decimalToBinary(N);

  

    

    

    int binary_to_decimal

        = binaryToDecimal(decimal_to_binar);

  

    

    return binary_to_decimal;

}

  

void printSortedArray(int arr[], int size)

{

    

    sort(arr, arr + size);

  

    

    for (int i = 0; i < size; i++)

  

        

        cout << arr[i] << " ";

  

    cout << endl;

}

  

void modifyArray(int arr[], int size)

{

    

    for (int i = 0; i < size; i++) {

  

        

        

        arr[i] = reversedBinaryDecimal(

            arr[i]);

    }

  

    

    

    printSortedArray(arr, size);

}

  

int main()

{

    int arr[] = { 98, 43, 66, 83 };

    int n = sizeof(arr) / sizeof(arr[0]);

  

    modifyArray(arr, n);

  

    return 0;

}

Let's block ads! (Why?)


Original page link

Best Cool Tech Gadgets

Top favorite technology gadgets
      edit

0 comments:

Post a Comment