|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.04.2017, 20:26 | #1 |
Новичок
Джуниор
Регистрация: 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 тоже почему-то не работают, из-за этого из чаровской переменной выводит мусор. Помогите, прошу, я новичек еще, но от нервной системы уже ничего не осталось |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |