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

Про строки и слова - C++

Восстановить пароль Регистрация
 
Icelass
Сообщений: n/a
07.04.2011, 16:21     Про строки и слова #1
Слова в строке разделены одним пробелом. Найти и напечатать слова, заканчивающиеся на заданную букву.

Пожалуйста, помогите решить! Буду благодарна!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.04.2011, 16:33     Про строки и слова #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define DELIMS " "
 
int main(int argc, char* argv[])
{
    char* pword;
    char character;
 
    if(argc != 3)
    fprintf(stderr, "Usage: %s CHARACTER LINE\n", *argv), exit(1);
 
    if(strlen(argv[1]) != 1)
    fprintf(stderr, "Invalid character: `%s'\n", argv[1]), exit(1);
 
    character = *argv[1];
 
    for(pword = strtok(argv[2], DELIMS);
    pword != NULL; pword = strtok(NULL, DELIMS))
    if(pword[strlen(pword) - 1] == character)
        printf("%s\n", pword);
    
    exit(0);
}
Первый аргумент программы - заданный символ. Второй аргумент - строка.
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
07.04.2011, 16:58     Про строки и слова #3
Можно еще и так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdlib>
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    char str[] = "qwde assd cgvb fgh rty rea", *p, ch;
    int k;
    cout << "Enter letter : ";
    cin >> ch;     
    
    p=strtok(str, " ");
    while(p!=NULL)
    {
        k=strlen(p);
        if(p[k-1] == ch) cout << p << "\n";
        p=strtok(NULL, " ");
    }   
      
    system("PAUSE");
    return EXIT_SUCCESS;
}
Nameless One
07.04.2011, 17:01
  #4

Не по теме:

grrrrr, чем принципиально отличается твой пример от моего? Ну кроме того, что в твоем нельзя строку вводить

grrrrr
07.04.2011, 17:06
  #5

Не по теме:

Nameless One, у меня написано на С++

easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
07.04.2011, 17:08     Про строки и слова #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
    
int main(){
    std::string buf;
    char ch;
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::cout << "Character: ";
    std::cin >> ch;
    
    std::istringstream ist(buf);
    while ( ist >> buf )
        if ( *(buf.rbegin()) == ch )
            std::cout << buf << ' ';
    std::cout << std::endl;
    
    system("pause");
    return 0;
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
07.04.2011, 17:10     Про строки и слова #7
grrrrr, выше пример - на С++, а у тебя - тот же С, только вывод через потоки С++.
grrrrr
07.04.2011, 17:18
  #8

Не по теме:

Nameless One, у вас просто подключаемые библиотеки с расширением .h, вот я и подумал что у Вас на С

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2011, 17:21     Про строки и слова
Еще ссылки по теме:

Напечатать те слова данной строки, которые отличны от последнего слова, и в слове нет повторяющихся букв C++
C++ Получить из файла строки, содержащие четырехбуквенные слова. Слова отсортировать в алфавитном порядке
Написать программу добавления слова «hello» после первого слова введенной строки C++

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

Или воспользуйтесь поиском по форуму:
Nameless One
07.04.2011, 17:21     Про строки и слова
  #9

Не по теме:

grrrrr, все ты правильно подумал

Yandex
Объявления
07.04.2011, 17:21     Про строки и слова
Ответ Создать тему
Опции темы

Текущее время: 07:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru