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

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

Войти
Регистрация
Восстановить пароль
 
ertaeva
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 24
#1

на си+ - C++

18.02.2010, 09:40. Просмотров 884. Ответов 2
Метки нет (Все метки)

помогите пожалуйста решить задачку---[Выяснить, есть ли во введенном тексте слова, оканчивающиеся на «f», и сколько таких слов
(слова разделяются пробелами).]
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 09:58 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define STR_B 255
int main(){
char str[STR_B];
printf("input text\t");
gets(str);
int count = 0;
unsigned int i;
for(i=0;i<strlen(str);i++){
    if((str[i]=='f'||str[i]=='F')&&str[i+1]==' ')count++;
    if((str[i]=='f'||str[i]=='F')&&str[i+1]=='\0')count++;
}
cout<<"count on f\t"<<count<<'\n';
 
 
return 0;
}
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
18.02.2010, 16:10 #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
25
26
27
#include <iostream>
#include <sstream>
#include <string>
 
/*
*   Выяснить, есть ли во введенном тексте слова, оканчивающиеся на «f», и сколько таких слов
*/
 
int main(){
    std::string buf, tmp;
    const char TO_FIND = 'f';
    int cnt = 0;
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::istringstream ist(buf);
    
    while ( ist >> tmp ){
        if ( *tmp.rbegin() == TO_FIND ){
            std::cout << tmp << std::endl;
            ++cnt;
        }
    }
    std::cout << cnt << " words ending with '" << TO_FIND << "' found." << std::endl;
    
    return 0;
}
Ответ Создать тему
Опции темы

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