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

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

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

Найти в строе заданое слово - C++

22.01.2010, 20:08. Просмотров 572. Ответов 4

1)Найти в строе заданое слово.
2)Удалить слова начинающие на букву а.
3)Удаление из строки символов которые занесены в коментарии.Например:Строка начало: asd/*xxx*/dss.Строка конец:asddss.

Объясните, пару задач решил остались эти а препод нехрена объяснить неможет=( говорит сам думай вот и обратился к вам.Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 20:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти в строе заданое слово (C++):

Задача с использованием множества: каких символов в заданной строе больше: русских или латинских? - C++
Всем привет. Помогите решить задачу: Решить задачу с использованием множества: каких символов в заданной строе больше: русских или...

Найти в файле слово по заданному началу, вывести слово и его позицию - C++
Найти в файле слово по заданному началу, вывести слово и его позицию

Выяснить входит ли цифра 3 в заданое число - C++
Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n2. Нужен код + максимально подробное объяснение, завтра сдавать ...

Вывести сообщение, кратно ли заданое число девяти - C++
Дано число а. Выведите сообщение или это число кратное 9.

Найти слово "ТЕКСТ", если такое слово есть,то отпечатать его номер в строке. - C++
В символьной строке, содержащей не более 80 символов, каждые два соседних слова разделены одним пробелом, строка заканчивается символом...

Функция удаляет из строки заданое количество символом, начиная с заданой позиции - C++
Функция удаляет из строки заданое количество символом, начиная с заданой позиции. напишите плз.

4
easybudda
Модератор
Эксперт CЭксперт С++
9915 / 5838 / 975
Регистрация: 25.07.2009
Сообщений: 11,011
22.01.2010, 20:37 #2
Цитата Сообщение от Vitala Посмотреть сообщение
3)Удаление из строки символов которые занесены в коментарии.Например:Строка начало: asd/*xxx*/dss.Строка конец:asddss.
Если он (коментарий) в строке только один, то вот:
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
#include <stdio.h>
#include <string.h>
    
/* Удаление из строки символов которые занесены в коментарии. */
#define STRLEN 128
int main(void){
    char *instr = "asd/*xxx*/dss";
    char outstr[STRLEN], *p;
    
    if ( ( p = strstr(instr, "/*") ) == NULL ){
        printf("Can't find starting /*\n");
        return 1;
    }
    if ( p != instr )
        strncpy(outstr, instr, p - instr);
    outstr[p - instr] = 0;
    if ( ( p = strstr(p + 2, "*/") ) == NULL ){
        printf("Can't find ending */\n");
        return 1;
    }
    if ( *(p + 2) )
        strcat(outstr, p + 2);
    printf("IN: %s\nOUT: %s\n", instr, outstr);
    return 0;
}
если их там много, то тем же макаром, но чуть сложнее...
А первые два задания совсем простенькие...
1
Андрейка
421 / 225 / 27
Регистрация: 25.03.2009
Сообщений: 744
22.01.2010, 21:08 #3
Vitala,
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 <iostream>
#include <vector>
#include <string>
#include <algorithm>
 
 
int main()
{
    std::istream_iterator <std::basic_string <char> > _ITER1(std::cin);
    std::istream_iterator <std::basic_string <char> > _ITER2;
 
    std::vector <std::string> _VEC(_ITER1, _ITER2);
 
    const std::basic_string <char> _str ("HELLO");
 
    if (std::find(_VEC.begin(), _VEC.end(), _str) != _VEC.end()) 
    {
        _VEC.erase(std::find(_VEC.begin(), _VEC.end(), _str));
        std::ostream_iterator <std::basic_string <char> > _ITER3(std::cout," ");
        std::copy(_VEC.begin(), _VEC.end(), _ITER3);
    }
 
    else std::cerr << "ERROR" << std::endl;
 
    return 0;
}
нахождение и удаление слова (остальное неохото)
1
easybudda
Модератор
Эксперт CЭксперт С++
9915 / 5838 / 975
Регистрация: 25.07.2009
Сообщений: 11,011
23.01.2010, 01:02 #4
поправил
немного
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 <stdio.h>
#include <string.h>
        
/* Удаление из строки символов которые занесены в коментарии. */
#define STRLEN 128
int main(void){
        char *instr = "asd/*xxx*/dss";
        char outstr[STRLEN] = { 0 }, *p;
        
        if ( ( p = strstr(instr, "/*") ) == NULL ){
                printf("Can't find starting /*\n");
                return 1;
        }
        if ( p != instr )
                strncpy(outstr, instr, p - instr);
        if ( ( p = strstr(p + 2, "*/") ) == NULL ){
                printf("Can't find ending */\n");
                return 1;
        }
        if ( *(p + 2) )
                strcat(outstr, p + 2);
        printf("IN: %s\nOUT: %s\n", instr, outstr);
        return 0;
}
а то не комильфо было...
ну и
вторую
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 <stdlib.h>
#include <ctype.h>
    
/*  Удалить слова начинающиеся на букву а */
#define REMCHAR 'A'
#define STRLEN 128
#define SPCHARS " ,.\t\n"
int main(void){
    char buf[STRLEN], *p;
    printf("String: ");
    if ( !fgets(buf, STRLEN, stdin) )
        exit(1);
    for ( p = strtok(buf, SPCHARS); p != NULL; p = strtok(NULL, SPCHARS) )
        if ( toupper(*p) != REMCHAR )
            printf("%s ", p);
    printf("\n");
    exit(0);
}
до кучи написа'л...
1
Vitala
0 / 0 / 0
Регистрация: 21.10.2009
Сообщений: 17
23.01.2010, 14:16  [ТС] #5
спасибо за помощь=)
0
23.01.2010, 14:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2010, 14:16
Привет! Вот еще темы с ответами:

Создать два потока, которые в конечном цикле инкримируют 1 переменную заданое число раз - C++
Дядьки и Тетьки Я только начал что изучать, что-то похожее на С++ но не уверен, если не прав прошу тему перенести. Но Помогите с задачкой:...

Определить фальшивую монету за заданое число взвешиваний среди указанного количества золотых монет - C++
Есть 25 золотых монет. Одна из них фальшивая и она по весу меньше. Определить за 3 взвешивания фальшивую монету. Взвешивание производится...

В txt-файле найти заданное слово или фразу и поменять её на другое слово или фразу - C++
Привет народ! Помогите чем сможете. Короче нужна программа, которая в txt-файле ищет заданное слово или фразу и меняет её опять же на...

В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны - C++
Не могу сообразить как написать программу: Пользователь вводит текст Необходимо замениь слово А(любое слово) на слово В(любое...


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

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

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