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

Обращение к функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Function - Delete(s,n,l). Purpose - удаление из строки s подстроки http://www.cyberforum.ru/cpp-beginners/thread649022.html
Function - Delete(s,n,l). Purpose - удаление из строки s подстроки, начиная с позиции n, длиной l (аналогичная библиотечная Function есть в Pascal).
C++ на входе программы даются два числа на входе программы даются два числа N и P. программа на выходе должна дать такое максимальное число М, что N! делится на Р в степени М, но не делится на Р в степени М+1. примечание: 1. числа N и Р так велики, что нет смысла считать значение N!. 2. числа N и Р являются натуральными. http://www.cyberforum.ru/cpp-beginners/thread649017.html
C++ Перевод из 10 си в 11-16
помогите перевести число из десятиричной системы исчисления в любую другую начиная с 11 и заканчивая 16. с++ начал осваивать недавно сделал переводы с 2 по 9, а как сделать с 11 по 16 ни как не пойму.
C++ Фильтрация изображений
Привет ребята. Какие есть алгоритмы по фильтрации изображений(подавление шума). Какие есть книги по этой теме? Что можно почитать и тд.?
C++ Проверьте правильность решения задачи http://www.cyberforum.ru/cpp-beginners/thread648994.html
Составить программу перевода радианной меры угла в градусы, минуты и секунды. Решение: #include <iostream> #include <locale.h> #include <stdio.h> #include <math.h> using namespace std;
C++ Обычное математическое задание С прошлого года непомню С++ вспоминается гибло, чтобы не наделать ошибок помогите где ошибка и что дополнить. №1 ((sqr(x)-x*y)/(9*sqr(x)-18*x*y+9*(sqr(y))))+((a*a*a*a-a)/(3*a*a+3*a+3)) Решить №2 (ln(sin(3*x+2^x) (не помню код степени исправте) #include <iostream> #include <math.h> using name space std; подробнее

Показать сообщение отдельно
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.09.2012, 21:13     Обращение к функции
Какое значение выдаёт счётчик у вас в этом коде?

Добавлено через 8 минут
Я добавил одну строку (для остановки), и у меня выдаёт 50. Это что, правильный результат, по вашему? Добавьте строку и поставьте там три пробела. Выдаст 51. Код неверный в принципе.
Смотрите, как ваш код работает. Считывается строка: getline() читает до '\n', извлекает его из потока и отбрасывает. Потом проверяется следующий символ, если равен '\n', то пропускается один символ, если равен '\t', то же, если равен ' ', то же. После этого счётчик увеличивается. Далее getline() опять читает до '\n'. Значит, будут пропускаться только строки, в которых содержится только один '\n', или один '\t', или один ' '. Поставьте в пустой строке три пробела, и этот код посчитает эту строку, потому что пропустит только один пробел, а потом getline() считает два других и счётчик увеличится.

Добавлено через 9 минут
Счётчик у вас срабатывает при каждом считывании genline() и не зависит от того, что она считала, пустую (визуально) строку или нет. Расчёт на то, что пустое можно убрать через ignore() не срабатывает, потому что не известно сколько в пустой строке этого пустого. Может быть больше, чем одни пробел, или несколько знаков табуляции.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru