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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
#1

Последнее слово - C++

23.04.2009, 17:42. Просмотров 1207. Ответов 14
Метки нет (Все метки)

требуется найти последнее слово в строке. Например
poslednee slovo v stroke
stroke
заметьте в конце строки есть 6 пробелов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2009, 17:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Последнее слово (C++):

Программа, удаляющее последнее слово, выводит первое слово. Что не так? - C++
#include <iostream> using namespace std; int main() { char s; int i = 0; cout << "stroka: "; cin >> s; for(i =...

Функция меняющая местами последнее слово строки на слово с указанным номером - C++
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер которого определяется вторым параметром...

Определить, содержит ли последнее слово строки букву, с которой начинается первое слово - C++
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое...

Предпоследнее и последнее слово - C++
Всем привет,можно ли написать программу попроще чем есть,со строками string или cstring.. Заранее большое спасибо! Задача: Вводится...

Удалить последнее слово в строке - C++
Дана строка, состоящая из одного или нескольких слов, отделенных друг от друга одним пробелом. Найти и удалить последнее слово, являющееся...

Удалить последнее слово и вывести - C++
Сделал удаления первого слова,подсобите кто-нибудь чтобы в добавок и последнее слово удаляло. Вот код : #include <string.h> #include...

14
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
23.04.2009, 17:51 #2
с конца строки циклом пока не встретим непробельный символ. Как встретили идем дальше до первого пробельного, попутно запоминая прочитанные символы. слово готово.
0
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.04.2009, 17:53  [ТС] #3
Vourhey не можешь код написать???
0
ShadoW
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
23.04.2009, 19:18 #4
Для уже считанных переменных и подключенной string.h
C++
1
2
3
for(i=length(str);str[i]!=' ';i--);
for(;i!=length(str);i++)
printf("%c", str[i]);
гуру, проверьте)
0
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.04.2009, 19:40  [ТС] #5
Цитата Сообщение от ShadoW Посмотреть сообщение
Для уже считанных переменных и подключенной string.h
C++
1
2
3
for(i=length(str);str[i]!=' ';i--);
for(;i!=length(str);i++)
printf("%c", str[i]);
гуру, проверьте)
Не работает...
0
ShadoW
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
23.04.2009, 19:57 #6
что пишет?
Признаюсь сразу, я не профессионал..
0
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.04.2009, 19:59  [ТС] #7
Цитата Сообщение от ShadoW Посмотреть сообщение
что пишет?
Да вот если на конце 6-7 пробелов ставить неверно выводит
0
ShadoW
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
23.04.2009, 20:17 #8
Точно
C++
1
2
3
4
for(i=length(str);str[i]==' ';i--);
for(;str[i]!=' ';i--);
for(;i!=' ';i++)
printf("%c", str[i]);
Отпишись, как отработает)
0
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.04.2009, 21:11  [ТС] #9
Цитата Сообщение от ShadoW Посмотреть сообщение
Точно
C++
1
2
3
4
for(i=length(str);str[i]==' ';i--);
for(;str[i]!=' ';i--);
for(;i!=' ';i++)
printf("%c", str[i]);
Отпишись, как отработает)
этот вооще не работает
0
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
23.04.2009, 21:36 #10
Цитата Сообщение от ShadoW Посмотреть сообщение
Отпишись, как отработает)
Если в строке нет пробела, то программа потенциально встанет раком
0
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.04.2009, 21:38  [ТС] #11
Цитата Сообщение от Evg Посмотреть сообщение
Если в строке нет пробела, то программа потенциально встанет раком
Ну кто нить попытайтесь сделать...
0
ShadoW
7 / 7 / 0
Регистрация: 01.04.2009
Сообщений: 109
23.04.2009, 21:50 #12
Я поднимаю руки. Сделать, как я хотел, красиво в несколько строчек, не получается..
0
Gravity
563 / 557 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
23.04.2009, 22:10 #13
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
main()
{
    int i;
    char s[] = "poslednee slovo v stroke      ",
        *start, *end;
 
    i = strlen(s) - 1;
    for(; !isalpha(s[i]) && i >= 0; i--)
        ;
    end = s + i + 1;
    for(; isalpha(s[i]) && i >= 0; i--)
        ;
    start = s + i +1;
    printf("%.*s\n", end-start, start);
    return 0;
}
1
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,193
Записей в блоге: 27
23.04.2009, 22:18 #14
C
1
2
3
4
5
6
7
8
9
10
11
12
void find_last (char *s)
{
  int i;
  char *p;
 
  p = s;
  for (i = 0; i < strlen(s); i++)
    if (s[i] == ' ')
      p = &s[i+1];
 
  printf ("last = %s\n", p);
}
Правда этот вариант будет работать неправильно, если в конце строки стоИт пробел
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.04.2009, 15:11 #15
удобнее будет всё-таки вытаскивать его
0
Вложения
Тип файла: zip savelast.c.zip (652 байт, 21 просмотров)
24.04.2009, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2009, 15:11
Привет! Вот еще темы с ответами:

Вывести последнее слово в тексте - C++
Дается определенное количество слов, нужно вывести последнее.

Удалить из строки предпоследнее и последнее слово в с++ - C++
Вводится строка произвольного текста. Удалить из нее предпоследнее и последнее слово (слова разделены пробелами). Ребята, подскажите,...

Вывести на экран последнее слово строки - C++
Вводится строка произвольного текста. Вывести на экран последнее слово (слова разделены пробелами).

Поменять местами первое и последнее слово - C++
Помогите решить задачу, используя строки. В заданном тексте (слова разделены пробелами) поменять местами первое и последнее слово.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru