В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Лена36793
Лена36793
02.01.2022 22:43 •  Информатика

Склавиатуры вводится некоторое целое десятичное число. вычислить сколько единиц и нулей содержится в двоичной записи этого числа. для решения необходимо вспомнить алгоритм перевода десятичных чисел в двоичную систему счисления. c++

Показать ответ
Ответ:
НикитаТим
НикитаТим
03.10.2020 10:40
#include <iostream>
#include <cstdlib>
#include <locale>
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
#include <cmath>
using namespace std;

void func(int num);
inline void reverse(int c[1]);
void str(int num);
int n2[1];

int main(int argc, char *argv[])
{
system("chcp 1251 >nul");
setlocale(LC_ALL, "Russian");

char num[10]; int cc;
printf("Введите число и его сс: ");
cin >> num >> cc;

char *pInt;
int hh = strtol(num, &pInt, cc);

func(hh);

return EXIT_SUCCESS;
}

void func(int num)
{
int c = 2;
int i = 0, j = 10;
int nn = num;
int pr = 0;

for(; j > i; j--){
pr = nn % c;
n2[j] = pr;
nn /= c;
}reverse(n2);
}

inline void reverse(int c[1]){
int len = 11;
int j = len-1;
for (int i = 0; i < len; i++){};
int ber;
for(int i = 0; i < len; i++) ber += c[i] * pow(10, j), j--;
str(ber);
}

void str(int num)
{
int ber = num;
int c = 10;
char buffer[20];
char *nm;
nm = itoa(ber, buffer, c);
string aa = nm;
for(int i = 0; i < strlen(nm); i++){
if(nm[i] == 0 and nm[i] != nm[i+1])
for(int j = i;j;j--) aa.erase(aa.begin() + i);
}
int ed = 0, nu = 0;
for(int i = 0; i < strlen(aa.c_str()); i++){
if(aa[i] == '1') ed++;
else nu++;
}
cout << "Двоичная запись: " << aa << endl;
printf("Количество единиц: %d\n Количество нулей: %d", ed, nu);
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота