Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2017, 20:26   #1
Vellroy
Новичок
Джуниор
 
Регистрация: 02.04.2017
Сообщений: 1
По умолчанию [C++] Перевести число в двоичный код и посчитать кол-во единиц идущих подряд

Задание: прочитать из текстового файла числа, перевести их в двоичный код и в другой текстовый файл записать число, у которого в его двоичном представлении наибольшее количество единиц подряд.
Задание я кое-как решил, но вот с файлами ничего не выходит: раньше писал в кодблоксе, перешел на ВС и все...
вот код:
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>

/*using namespace std;*/

int main()
{
std::ifstream f("1234.txt");
int a,i,kol=0;
int max = 0;
int h = 0;
char str[100];
char str1[10][10];

while (!f.eof()) {
f >> str1[kol];
kol++;
}
f.close();

for (int u = 0;u < kol;u++) {
a = atoi(str1[u]);
for (i = 0;a >= 2;i++) {
if (a % 2 == 0) {
a /= 2;
str[i] = '0';
}
else {
a /= 2;
str[i] = '1';
}
}

if (a == 1) {
str[i] = '1';
}
else {
str[i] = '0';
}

for (int i = 0;i < strlen(str); i++) {
std::cout << str[i];
}

for (i = 0; i < strlen(str); i++) {
if (str[i] == '1') {
h++;
if (h > max) {
max = h;
}
}
else {
h = 0;
}
}
}
std::cout <<std::endl<< max << std::endl;
system("pause");
return 0;
}

Программа работает правильно, но из файла ни под каким предлогом не читает, я перепробовал все способы, найденные мною в интернетах.
Сразу отвечая на вопросы: нет, файл не пустой и сохранен; пробовал менять его расположение - тоже ничего не читает; getline которым я привык пользоваться - не работает; strlen и .length тоже почему-то не работают, из-за этого из чаровской переменной выводит мусор.
Помогите, прошу, я новичек еще, но от нервной системы уже ничего не осталось
Изображения
Тип файла: jpg Безымянный.jpg (72.2 Кб, 126 просмотров)
Тип файла: jpg Безымянныйфвар.jpg (44.8 Кб, 126 просмотров)
Vellroy вне форума Ответить с цитированием
Старый 25.04.2017, 21:00   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

111.jpg

Последний раз редактировалось ura_111; 25.04.2017 в 21:03.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ наибольшее число подряд идущих элементов Veronika_de Помощь студентам 1 03.01.2017 03:43
float число перевести в двоичный код (с помощью битовой маски) и обратно. МахычD Общие вопросы C/C++ 5 23.02.2016 20:32
найти максимальное число пробелов идущих подряд angelochek7 Помощь студентам 0 08.05.2012 21:42
Максимальное кол-во подряд идущих элементов одн. массива cheef Паскаль, Turbo Pascal, PascalABC.NET 6 17.06.2010 13:17
Си. Задано натуральное число. В нем выделить максимальную по длине группу подряд идущих четных цифр Veina Помощь студентам 20 23.11.2009 17:00