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

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

Войти
Регистрация
Восстановить пароль
 
leha-demi
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 125
#1

Строковые данные - C++

30.05.2011, 22:52. Просмотров 353. Ответов 1
Метки нет (Все метки)

Всем привет)
Можете пож. подсказать что делает функция
!strchr самая первая, и memmove и p += n;

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
28
29
30
31
32
33
#include "stdafx.h"
#include <iostream>
#include <cstdio>
#include <string.h>
#include <stdio.h>
#define DELIM " ,.?!:;"
#include <conio.h>
using namespace std;
 
int main()
{   int n;
    char s[256];
    char* p;
 
    gets(s);
    p = s;
 
    while(*p)
    {
        if(!strchr(DELIM,*p)) // Вот это
        {
            n = 0;
            do ++n; while(!strchr(DELIM,*(p + n))); 
            if(*(p + n - 1) == 'a') memmove(p, p + n, strlen(p + n) + 1); // Memmove (и это)
            else p+= n; // И это)
        }
        else ++p;
    }
 
    puts(s);
 _getch();
    return 0;
}
Спасибо за ваши ответы..)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 22:52     Строковые данные
Посмотрите здесь:

Строковые данные - C++
И вот еще одон задание со строками, выручайте парни=(пожалуйста... Дано слово &quot;yabloko&quot;. Получить слова &quot;blok&quot; &quot;oko&quot;...

Строковые данные - C++
Всем привет) Задание: &quot;Удалить из текста слова, которые заканчиваются на а.&quot; Вот написал самое начало, не могу понять как искать эти...

Cb++, Символьные и строковые данные в С++ - C++
для строк типа char: Вводят 3 строки: а, б, с. Заменить в строке с строку а на строку б

Символьные и строковые данные - C++
Реюята, помогитереить пример по строковым данные, вот условие: Из строки, состоящей из букв, цифр, запятых, точек, знаков + и – ,...

строковые - C++
Привет всем) Вот такая штука Написать программу, которая считывает английский текст из файла и выводит на экран слова, начинающиеся с...

C++ строковые - C++
3 задача №1. Написать и протестировать функцию STRP(str1,str2), которая возвращает указатель на последнее вхождение символа из строки...

Строковые объекты - C++
С клавиатуры вводится предложение, символы которого надо вывести по функции корень квадратный. Объясните как реализовать, чтобы символы...

Строковые переменные. - C++
Дано последовательность, что состоит из 1-30 слов, в каждом слове 1-5 букв, все слова разделены запятой, в конце точка. Напечатать все...

Строковые массивы. - C++
Даны натуральное число n символы s1 ...sn.Известно, что среди s,,s есть по крайней мере 1 запятая.Найти такое натуральное число i ,что s -...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
30.05.2011, 23:58     Строковые данные #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
27
28
#define DELIM " ,.?!:;"
#include <conio.h>
using namespace std;
 
int main()
{   int n;
    char s[256];
    char* p;
 
    gets(s);
    p = s;
 
    while(*p)
    {
        if(!strchr(DELIM,*p)) // если символ массива  -  ,.?!:;    то
        {
            n = 0;
            do ++n; while(!strchr(DELIM,*(p + n))); до тех пор пока символ не  ,.?!:;
            if(*(p + n - 1) == 'a') memmove(p, p + n, strlen(p + n) + 1); // Memmove (и это) если в конце слова буква "а" то удалить это слово, уменьшив при этом строку на кол-во букв в слове. 
            else p+= n; // И это) иначе переход на следующее слово.
        }
        else ++p;
    }
 
    puts(s);
 _getch();
    return 0;
}
Ответ Создать тему
Опции темы

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