![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
Здравствуйте, нужно из строки вывести последние слово, мой код работает, но только не проходит тест когда строка заканчивается на пробел... Вот мой код:
#include <iostream> using namespace std; int main() { int a; char ch[1000]; cin.getline(ch,1000); for (int i=0; i<strlen(ch); i++) { if (ch[i]==' ') a=i;} for (int i=a+1; i<strlen(ch); i++) { if (islower(ch[i])) ch[i]=toupper(ch[i]); if(isalpha(ch[i])) cout << ch[i]; } cout<<" "; return 0; } |
![]() |
![]() |
![]() |
#2 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
![]()
введите в программу еще 1 цикл
Код:
![]() это засуньте после cin.getline и замените в цикле for (int i=0;i<strlen(ch);i++) на for (int i=0;i<neProb;i++) а вообще лучше поиск пробела начинать с конца строки, быстрее будет, если будете обрабатывать громадные файлы ![]()
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery Последний раз редактировалось kaljan775; 07.11.2010 в 00:24. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
Спасибо за быструю помощь!!!
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
что то компилирую и не выходит
если добавить ваш код то получается for (int i=strlen(ch)-1;i>0;i--) { if (ch[i]!=' ') { neProb=i; break; } } for (int i=0;i<neProb;i++) { if (ch[i]==' ') a=i;} for (int i=a+1; i<strlen(ch); i++) { if (islower(ch[i])) ch[i]=toupper(ch[i]); if(isalpha(ch[i])) cout << ch[i]; } |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
char neProb=i; ->???
|
![]() |
![]() |
![]() |
#6 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
![]()
int, это же индекс
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
мммм... все вышло огромное спасибо,только здесь вместо этого
for (int i=strlen(ch)-1;i>0;i--) нужго ввести for (int i=strlen(ch)-2;i>0;i--) |
![]() |
![]() |
![]() |
#8 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
![]()
почему, ch[strlen(ch)] - это '\0' конец строки, -1 - или непробельный символ. или пробел, ничего в принципе не изменится
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.10.2010
Сообщений: 27
|
![]()
будет for (int i=strlen(ch)-2;i>0;i--) потому что в конце строки будет пробел и знак конец строки
|
![]() |
![]() |
![]() |
#10 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
![]()
ну, можно и так, смысл не изменится
![]()
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
дле последние новости | sergeiqwe | PHP | 0 | 11.09.2010 13:29 |
Сделайте, плиииз, последние проги!!! | BeaU | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 05.06.2009 23:30 |
Последние значение цикла | MAKEDON | Общие вопросы C/C++ | 1 | 02.03.2009 13:46 |
последНИЕ 3 символа... | PAVEL315 | Общие вопросы Delphi | 6 | 23.02.2007 11:20 |