Dev - C++ - numeros binarios

 
Vista:
sin imagen de perfil

numeros binarios

Publicado por carlos (8 intervenciones) el 24/03/2022 18:53:31
Ejercicio (1) [2.5]
Espacios binarios.
Son la cantidad de ceros contenidos entres dos uno en un numero binario.
Un numero puede no tener espacios binarios.
Un numero puede tener 1 o más espacios binarios.
Ejemplos.
El número 5 en binario es 101, tiene un espacio binario.
El número 137 en binario es 10001001, tiene dos espacios binarios, el mayor tiene 3 espacios.
El número 127 en binario es 1111111, NO tiene espacios binarios.
El número 128 en binario es 10000000, NO tiene espacios binarios.
Se requiere hacer un programa en C++ que acepte como entrada un numero decimal e informe
valor del espacio binario mayor.
Introducir Numero: 127
Espacio binario mayor = 0.
Introducir Numero: 5
Espacio binario mayor = 1.
Introducir Numero: 137
Espacio binario mayor = 3.

una ayudita es lo unico que me falta :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

numeros binarios

Publicado por Alfil (1444 intervenciones) el 24/03/2022 19:54:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <string>
 
using namespace std;
 
string toBinary(int decimal);
 
int main()
{
    int numero;
    string binario;
 
    cout << "Introduce un numero: ";
    cin >> numero;
 
    binario = toBinary(numero);
 
    int count = 0, espacio = 0;
    for (int i = 0; i < binario.size(); i++)
    {
        if (binario[i] == '0') count++;
        else
        {
            if (count > espacio)
                espacio = count;
 
            count = 0;
        }
    }
 
    cout << endl << "En binario: " << binario << endl;
    cout << "Espacio binario mayor: " << espacio << endl;
 
    return 0;
}
 
string toBinary(int decimal)
{
    string binario;
    while (decimal != 0)
    {
        binario += ( decimal % 2 == 0 ? "0" : "1" );
        decimal /= 2;
    }
 
    return binario;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar