Форум программистов, компьютерный форум, киберфорум
Наши страницы

Задача Нули - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ (WinSock) Условие прихода пакета данных http://www.cyberforum.ru/cpp-beginners/thread925983.html
Допустим, я хочу написать чат на WinSock. Мне нужно, чтобы при приходе пакета специально отведенный буфер заполнялся данными, после чего выводился на экран в виде текста. Как определить, пришел ли...
C++ FPS средствами C++ Здравствуйте. Подскажите, как вывести FPS поверх окна (игры), например, как это делает FRAPS. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread925959.html
Задача преобразования числа в предложение | обработка потока ввода C++
Здравствуйте. Я нашел варианты решения в прикрепленной теме, но интересует вопрос следующего содержания: существуют ли метод "выхвачивания" цифр из потока cin таким образом, чтобы при вводе числа...
Алгоритм хэширования MD5 C++
Мне дали задачу. Программа должна делать такое: Юзер вводит цифры или буквы Программа делает из них MD5 хэш (т.е. хэширует эти символы) :) Так вот, я в интернете нашел примерный алгоритм MD5...
C++ Решение задачи симплекс методом http://www.cyberforum.ru/cpp-beginners/thread925942.html
Всем доброго времени суток. Помогите, пожалуйста, при компиляции выдает такую ошибку:" fatal error C1083: Не удается открыть файл включение: iostream.h: No such file or directory" Заранее спасибо....
C++ Как устроен std::string Добрый день! Недавно я задался таким вопросом - есть класс std::string, который подразумевает вставку\удаление символов и подстрок, а так же других операция. И в основе лежит какая-то структура... подробнее

Показать сообщение отдельно
wwmwwm
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 75

Задача Нули - C++

20.07.2013, 00:16. Просмотров 891. Ответов 4
Метки (Все метки)

Опять проблема с вводом/выводом через файлы. Как решить вот эту задачу:
Кликните здесь для просмотра всего текста
Нули
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц.

Входные данные

В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр не превышает 100.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей.

Пример

№ INPUT.TXT OUTPUT.TXT
1 00101110000110 4
, я понимаю, да и решение на псевдокоде есть вот тут:
Кликните здесь для просмотра всего текста
Нули
(Время: 1 сек. Память: 16 Мб Сложность: 16%)
Решение №1

Здесь можно определить некоторую переменную-счетчик, в которой хранить текущее количество непрерывно идущих нулей при просмотре последовательности слева направо (можно и справа налево). При этом, если встречается единица, то нужно сбросить значение счетчика на ноль. Просматривая список нужно сверять значение счетчика с максимальным ранее найденным и таким образом запоминать максимальное. Считывать данные можно как в одну строку, обрабатывая нули и единицы как элементы массива, либо читать посимвольно до окончания потока данных.

c=max=0;
while(not EOF){
read(x);
if(x=='0') c=c+1; else c=0;
if(c>max) max=c;
}
write(max);
Решение №2

Можно использовать другой подход к решению этой задачи. Проверить наличие подпоследовательности из k нулей в исходной строке можно с помощью функции strstr в Си или pos в Паскале. Используя это можно создать некоторую пустую строку, которую последовательно удлинять на один ноль и каждый раз проверять имеется ли такая подстрока в исходной до тех пор, пока такая подстрока существует. Длина последней существующей подстроки нулей и будет ответом.

p='';
read(s);
while(p содержится в s) p=p+'0';
write(len(p)-1);

Но у меня не получается считать с файла нули и единицы. Помогите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru