![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Deeoni$ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.2.2003 Репутация: нет Всего: нет |
как завершить цикл ввода досрочно при нажатии ЕНТЕР
Варианты типа if (*(str+len)=='\n') break не катят... |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
cin.getline зачитает строку до enter'a
|
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Как говорил наш препод по ООП:
"Программист тем квалифицированнее, чем больше кода он может уместить в одну строчку" А по сути (если использование cin не обязательно): char * str , *p; int len=0; str=(char*)malloc(maxlen); p = str; cout << "str: "; do { p = getch(); if (*p < 65 || *p>90 || *p<97 || *p>122 || *p==13) break; //*p == 13 и есть проверка не Enter p++; len++; } while (len<maxlen); *p = 0 ; В чем вообще задача? Прочитать строку из английских букв, с игнором всего остального? Это сообщение отредактировал(а) Конструктор - 24.5.2004, 07:42 |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
А принцип KISS никто не забыл?
--------------------
|
|||
|
||||
| Deeoni$ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.2.2003 Репутация: нет Всего: нет |
Проверить, является ли выражение, состоящее только из прописных букв заданной строки, палиндромом (палиндром – слово или выражение, читающееся слева направо и справа налево одинаково, например, «кабак» или «нажал кабан на баклажан»). Если да, то напечатать полученный палиндром. В противном случае вывести строку, состоящую из символов исходной строки с удаленными прописными символами. Допустимые символы – цифры; прописные и строчные латинские буквы |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Я бы сделал не так. Я бы считал всю строку целиком (gets возвращает NULL, если строку не ввели, а нажали ентер). Потом удалил бы оттуда все, что не надо. Далее, создаем копию строки (можно и без этого) и удаляем из неё все пробелы. Находим центр строки. И от него расходимся в разные стороны, сравнивая символы
з.ы. хотя вроде про алгоритм не спрашивали -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |