0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
||||||
1 | ||||||
не могу найти ошибку, программа ничего не выводит01.12.2013, 22:35. Показов 2393. Ответов 18
Метки нет (Все метки)
Не выводится комбинация из 5 единиц или нулей, не могу найти ошибку, подскажите пожалуйста, где ошибся
Само задание: Дана строка, состоящая из групп нулей и единиц, разделенных одним или несколькими пробелами. Найдите и выведите на экран группу из пяти символов, если такая имеется. Код программы:
0
|
01.12.2013, 22:35 | |
Ответы с готовыми решениями:
18
Php регистрация , не могу найти ошибку. Код выполняется, но в базу данных ничего не добавляется Не могу найти ошибку, при любом значении выводит 1.68729e+038 Не могу найти ошибку в коде, не понимаю, почему выводит какими-то странными иероглифами Программа ничего не выводит |
0 / 0 / 1
Регистрация: 24.01.2013
Сообщений: 26
|
|
01.12.2013, 22:56 | 2 |
Вроде бы, что то не так начиная с 21 строчки, где где i присваивается не инициализированное значение
0
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
01.12.2013, 23:00 [ТС] | 3 |
А конкретнее?? Просто пытаюсь разобраться с кодом, но почему-то не нахожу ошибку.
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
01.12.2013, 23:03 | 4 |
eXdi, в 21 строке вы присваиваете неизвестное значение переменной i, т.к. в b содержится мусор
0
|
25 / 25 / 5
Регистрация: 21.11.2013
Сообщений: 208
|
|
01.12.2013, 23:04 | 5 |
Конкретнее- тебе правильно говорят.Ты присваиваешь i=b, но b у тебя ничему не присваивалось, следовательно там мусор
0
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
01.12.2013, 23:10 [ТС] | 6 |
Присвоив начальное значение b=0 изменений не произошло, все так же и осталось, а именно ничего не выводится. Где еще я ошибся?
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
||||||
01.12.2013, 23:46 | 7 | |||||
eXdi, я так понимаю код не ваш? Что вы вводите?
eXdi, и к тому же у вас ввод неправильный
0
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
01.12.2013, 23:50 [ТС] | 8 |
Код как раз таки мой) был бы не мой, он бы работал и я бы не спрашивал)
так что те пояснения что вы написали я прекрасно знаю) Я знаю что в нем где что значит, но может я перепутал что-то где-то? потому что у меня почему-то как я не пытался все время ничего не выводится, пробовал различные комбинации. Просто пусто и все, и ничего нету. Подождите, в смысле ввод не правильный? Можно по подробнее?
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
02.12.2013, 00:04 | 9 |
eXdi, у вас массив char'ов и в цикле вы вводите ваши строки, но вводите вы их не посимвольно, а через cin*. Как я понимаю ход ваших рассуждений был таков: я ввожу строку к примеру memory, она занимает 6 символов и будет записана от s[0] == 'm' и до s[5] == 'y', но вы вводите каждый раз, и у вас получается, если i = 0 и мы пишем в s[i] - memory, то мы вгоняем как бы в один символ, целую строку, это как вы понимаете неправильно. Либо используйте getline, либо Сишный getchar().
*cin - ввод строки до пробела, остальное остается в памяти. Пример(каждый ввод осуществляется через cin): Введите ваше полное имя: Вася Пупкин. Введите ваш адрес: (и этот ввод программа проигнорирует). Если вы выведете ваше полное имя, оно окажется Вася, а если выведете адрес - Пупкин. cin дает ввод как бы слова, но не целой строки символов
1
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
02.12.2013, 00:30 [ТС] | 10 |
А не могли бы вы подсказать где и что мне поменять? Просто я делал через cin тоже программу, там заполнение было нормально и все определялось без нареканий. Я просто через getchar еще не разу не пробовал делать.
Т.е. как я понимаю мне надо: cin>>s1[i]; заменить на s1[i]=getchar(); Или как?
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|||||||||||
02.12.2013, 00:42 | 11 | ||||||||||
eXdi,
Добавлено через 8 минут eXdi, я думаю алгоритм будет понятен, если вам понадобится переписать под любые другие символы:
0
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
02.12.2013, 00:43 [ТС] | 12 |
0
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
02.12.2013, 01:11 [ТС] | 14 |
Вашу программу проще описана) У вас просто поиск 5-ти единиц или нулей) В моем же случае из введеннйо комбинации у меня должна вывестись комбинация из пяти символов)) например:
Введено: 0 0110101 01001 1011 001 Вывестись должно: 01001
0
|
183 / 182 / 56
Регистрация: 10.06.2011
Сообщений: 871
|
|
02.12.2013, 07:07 | 15 |
eXdi, так это еще проще. Если нужен код - сделаю, если хотите сами постараться - постарайтесь
1
|
25 / 25 / 5
Регистрация: 21.11.2013
Сообщений: 208
|
||||||
02.12.2013, 12:57 | 16 | |||||
Самый простой способ, наверное
1
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
02.12.2013, 13:18 [ТС] | 17 |
max_besheniy, хороший вариант, спасибо) Не могли бы вы пояснить что это значит?) s.push_back(' ');
Ryuk, Проще? А много ли переделывать в моем коде надо? Просто как я понял у меня пробелы не учитывались, то есть если я вводил 1001 10111, то она у меня воспринимала у меня 100110111. Значит я так понимаю мне подредактировать только ввод и все?
0
|
25 / 25 / 5
Регистрация: 21.11.2013
Сообщений: 208
|
|
02.12.2013, 13:35 | 18 |
s.push_back(char) добавляет символ в конец строки. У вас оно воспринимало до первого пробела, при вводе строки так:
cin>>s; так всегда будет. Поэтому нужно использовать getline(cin,s), так считается все до символа перевода строки
1
|
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 31
|
|
02.12.2013, 13:38 [ТС] | 19 |
0
|
02.12.2013, 13:38 | |
02.12.2013, 13:38 | |
Помогаю со студенческими работами здесь
19
Программа не выводит ничего Программа ничего не выводит Программа ничего не выводит Программа ничего не выводит на экран Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |