![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
ninja |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Добрый день ! Изучая язык С++ после Паскаля столкнулся с такой проблемой: Необходимо написать программу в которой при вводе строки вводятся ограничения. Само задание :
Вводится тест из заглавных и строчных латинских букв, пробелов. Количество символов в тексте не должно превышать 200. Слова разделяются пробелами. Определить и вывести слова, начинающиеся и заканчивающиеся одной и той же буквой. Скачал массу книг по С++ преподователь рекомендавал книгу Бьерна Страуструпа, начал ее читать по- началу показалось не сложной, но затем пробуя примеры из книги столкнулся с такими проблемами во многих книгах написано что есть такой тип данных string который находится в библиотеке string.h, и тип boolean <bool> но как я понят как такового типа string нет, есть массив символов т.е это конечно string это и есть массив символов, только объявление по-другому char str[200] если я не прав поправте пожалуйста, а то совсем запутался. Толи это зависит от компилятора, толи от версии... я пишу на Turbo C++ Ver 3.0 Идея решения моей задачи такова, считывать каждый раз 1 символ и прибавлять его в массив символов, задача заключается именно в том чтобы самому написать функцию ограничивающую ввод. #include <conio.h> только каждый раз приходится нажимать кнопку ENTER, думал прибавлять к считываемому символу еще код ENTER'a #13 но ничего не получается. и почему то ошибка не могу понять почему, т.е если делать по шагам, то на строке ch1[k]=ch[1]; в переменную ch1[k] попадает совсем не то значение. Спасибо за помощь. Сообщение отредактировано: volvo - 22.03.2010 13:48 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата во многих книгах написано что есть такой тип данных string который находится в библиотеке string.h, и тип boolean <bool> но как я понят как такового типа string нет, есть массив символов Есть еще такое понятие, как разные компиляторы. Старые и новые. Так вот в любом новом компиляторе можно подключить #include <string> Turbo C++ 3.0 - это уже очень устаревший компилятор, там естественно этого нет. Цитата задача заключается именно в том чтобы самому написать функцию ограничивающую ввод. Можно разъяснить, в чем именно задача? Что ограничивать? Зачем ограничивать? Ограничение - это чтобы нельзя было ввести больше 200 символов? Или еще что-то есть?Не надо ничего придумывать. Задача у тебя - вывести слова, которые начинаются и заканчиваются на одну и туже букву. Про написание функции, ограничивающей ввод ничего не сказано. Поиск по форуму по словам gets и strtok приведет тебя к посту в котором я досконально разжевывал процесс разбиения строки на слова. |
ninja |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Задача заключается в том, чтобы нельзя было ввести больше 200 символов, т.к. преподователь дополнил задание. Ага спасибо пойду искать.
Сообщение отредактировано: ninja - 22.03.2010 13:58 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
#include <iostream.h> Вводи хоть 256 символов с клавиатуры. Прочитается максимум столько, сколько указано вторым параметром в getline. Или, если нажмешь Enter раньше чем 9 символов - то будет прочитано сколько есть. Или тебе надо, чтобы вообще нельзя было набрать больше 200 символов? Тогда тебе надо вручную читать и собирать строку через getch, одновременно подсчитывая количество введенных символов. |
ninja |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Да, нужно чтобы вообще нельзя было набрать 200 символов. Извиняюсь за неверное объяснение проблемы.
|
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 13:20 |