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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
JIewuk
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 4
#1

Строки. Вывести на экран самую короткую группу из 0 и 1. - C++

30.11.2012, 16:10. Просмотров 941. Ответов 6
Метки нет (Все метки)

Помогите плз написать код.
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на
экран самую короткую группу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 16:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки. Вывести на экран самую короткую группу из 0 и 1. (C++):

Строки. Вывести на экран самую короткую группу из 0 и 1 - C++
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран самую короткую группу. Попроще только, без #include <algorithm>...

В строке, состоящей из групп нулей и единиц, найти и вывести на экран короткую группу - C++
В строке, состоящей из групп нулей и единиц, найти и вывести на экран короткую группу. Прога виводит только один сивол. Когда вводишь 111...

Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку - C++
Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку. Что не так, подскажите, пожалуйста! #include...

Дано три строки. Определить самую длинную и короткую - C++
Всем привет. Вот полное задание: "Введи с клавиатуры 3 строки в самой длинной поменяй первое слово с последним и выведи, а в самой короткой...

Определить самую длинную и самую короткую из введенных строк - C++
Необходимо организовать ввод 3 названия городов. А потом вывести на экран консольно самое длинное и короткое название города. Лезут ошибки...

Структура: Для заданного автора вывести на экран его самую раннюю книгу и самую последнюю - по году издания. - C++
Дан массив записей, содержащий сведения о книгах: фамилия автора, название книги, год издания книги. Для заданного автора найти и вывести...

6
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
30.11.2012, 16:59 #2
что есть группа в вашей задаче?
привидите пример строки и группы в ней
1
JIewuk
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 4
30.11.2012, 17:13  [ТС] #3
Подразумевается какая-то строка из 0 и 1,которая поделена на группы,например 1101 0110 1000 0100 и т.д
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
30.11.2012, 17:29 #4
JIewuk, boost::split делите на подстроки. Потом ищете самую короткую.
1
JIewuk
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 4
30.11.2012, 17:29  [ТС] #5
ну то есть разных размеров 111 0111 1111111001111 01 11111 и т.д)

Добавлено через 27 секунд
можешь помочь с кодом? не шарю как его написать
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
30.11.2012, 17:51 #6
Я бы так сделал (если я правильно понял задание, это тоже самое что найти наименьшее слово в строке):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
using std::string;
 
int main()
{
    setlocale (LC_ALL, "Russian");
    string str = "111 0111 1111111001111 01 11111";
    std::istringstream iss(str);
    auto compare = [] (const string& s1, const string& s2) 
    {
        return s1.length()<s2.length();
    };
    std::cout<<"Наименьшея группа символов: " 
        << *std::min_element(std::istream_iterator<string>(iss), std::istream_iterator<string>(), compare) << std::endl;
    system("pause");
    return 0;
}
1
JIewuk
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 4
30.11.2012, 19:16  [ТС] #7
хм,спасибо конечно,но мне надо немного в другому (понятном) виде =) типо вот этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <string.h>
int main()
{
  char st[301];
  cout<<"Enter string: ";
  cin.getline(s,300);
  int len=strlen(s);
  int kol=0;
  for(int i=0;i<len;i++)h
   if(s[i]=='1')
   kol++;
   else
          {
    if(kol%2==1)
    cout<<kol<<endl;
    kol=0;
           }
  if(kol%2==1)
  cout<<kol<<endl;
  return 0;
}
Добавлено через 58 минут
а что делает функция boost::split?

Добавлено через 18 минут
yuron_477, можешь код в таком виде написать? если не ломы конечно)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 19:16
Привет! Вот еще темы с ответами:

Вывести все введенные строки. Отсортировать строки. Вывести самую длинную строку - C++
Здравствуйте!!! Помогите пожалуйста, не могу разобраться с программой. Ввести с клавиатуры строки, пока не будет введено 5 строк, которые...

Определить самую короткую строку текстового файла - C++
помогите пожалуйста

Удалить из массива строк самую короткую строку - C++
Сформировать массив строк разной длины. Удалить из него самую короткую строку.

Найти самую короткую последовательность с правильной расстановкой скобок - C++
Дана последовательность скобок, содержащая скобки четырех видов: (), , {}, &lt;&gt;. Требуется найти самую короткую последовательность с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
30.11.2012, 19:16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru