Estou com um projeto q tenho que transforma numeros em binario e converte para decimal ...
aqui esta o video de ajuda ...
#include <fstream>
#include <iostream>
#include <iomanip>
#include <string.h>
#include <cmath>
using namespace std;
int main()
{
//variavel
ifstream dados;
int numbit, y = 0;
char bite[10000] , b[10000];
int x = 0 , z = 0 , a,i=0;
dados.open("teste1.txt", ifstream::in); // abrir arquivo
dados >> numbit;
dados >> bite;
a = strlen(bite); //tamanho do vetor
dados.close(); //fechar arquivo;
cout<<a<<endl;
//programa
for(i = 0 ; i < a ; i++)
{
if(bite[i] == '0')
x++;
else if (bite[i] == '1')
z++;
if(x + z == numbit)
{
if(x > z)
bite[y] = '0';
else if(z > x)
bite[y] = '1';
b[y] = bite[y];
y++;
x = 0;
z = 0;
}
}
for (int i = 1 ; i <= y ; i++)
{
cout << b[i];
}
int tam,vlr;
tam = strlen(b);
cout<<tam<<endl;
for(i=0;i<=tam;i++){
int num = bite[i]-'0'; //converte char em int
vlr += num*(pow(2,(tam-i)));
}
cout<<vlr;
return 0;
}
Faça um programa que leia o nome de um arquivo com uma sequência de bits resultante de uma transmissão ruidosa de uma mensagem codificada em Rn, e mostre na tela a mensagem decifrada.
Entrada
A entrada consiste de uma única linha com o nome do arquivo a ser processado.
Este arquivo contém duas linhas:
- na primeira linha, é informado o valor de n
- a segunda linha contém vários bits (valores 1 ou 0).
Saída
Na saída, o programa deve mostrar a mensagem originalmente transmitida, em caracteres ASCII
Exemplo de entrada Exemplo de saída
teste1.txt TODOS OS FATOS TEM TRES versões: A SUA, A MINHA E A VERDADEIRA
teste1.txt