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

Ввести с клавиатуры предложение. Слова заканчивающиеся на «ие» удалить ++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка текста http://www.cyberforum.ru/cpp-beginners/thread527712.html
Добрый день! В общем имеется программа, которая считывает из файла текст, в файле есть слова, записанные со знаком "-" переноса, как организовать проверку на этот знак и соединить слово? спасибо, вот...
C++ Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания Дан текстовый файл. Создать символьный файл, содержащий все символы, встретившиеся в тексте, включая пробел и знаки препинания (без повторений). Символы располагать в порядке их первого появления в... http://www.cyberforum.ru/cpp-beginners/thread527709.html
C++ Строка: вывести на экран все слова сообщения, состоящие из n букв.
Работа со строками. Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и знаками препинания, в конце которого ставится точка):вывести на экран все слова...
прерывания C++
можно ли создать такую программу, которая вообще никак не будет реагировать на прерывания? на самом деле задался вопросом о вычислении скорости выполнения операций. Написал код, а потом вспомнил о...
C++ Не записывается бинарный файл:( http://www.cyberforum.ru/cpp-beginners/thread527701.html
Здравствуйте. Программа читает четыре числа типа double в текстовом файле 0.0367450.4577840.0987860.658325 и записывает их в бинарный файл в той же последовательности. Почему в бинарном файле числа...
C++ Перевод из Паскаля на С++ Привет всем. Нужна помощь. У меня есть алгоритм на Паскале, а нужен на С++, поскольку Паскаль знаю плохо, прошу вас перевести данный код из Паскаля на С++ Вот код for j:=0 to M-1 do count:=0;... подробнее

Показать сообщение отдельно
Mikola-BLR
47 / 47 / 7
Регистрация: 27.12.2011
Сообщений: 65
25.03.2012, 21:53
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 <conio.h>
using namespace std;
 
int main()
{
    int i=0;
    unsigned char symbol, str[1000];
    while ((symbol=getch()) !='\r')//вводим символ, пока не нажмём Enter ('\r')
    {
        cout << (str[i]=symbol);
        i++;
    }
    cout << "\n";
    for (int j=0; j<i; j++)
    {
        if ((str[j]==168) && (str[j+1]==165) &&
            ((str[j+2]==' ') || (str[j+2]==',') || (str[j]=='.') ||
             (str[j+2]==';') || (str[j+2]=='!') || str[j+2]==('?') ||
             (str[j+2]==')')  || (str[j+2]=='\"') || (str[j+2]=='\'') || (str[j+2]=='\0')))
        {
            j=j+2;//если встретили идущие подряд символы "и" (код 168) + "е" (код 165) + пробел или знаки пунктуации, то пропускаем 2 символа ("и" и "е")
        }
        cout << str[j];
    }
    return 0;
}
Добавлено через 54 минуты
Бррр, невнимательно прочитал условие. Думал, удалить надо ИЕ с конца слова, а не всё слово.
Если слова удалять, то примерно вот так
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
34
35
36
37
38
39
40
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
 
int main()
{
    int i=0, j=0, length[i];//i-номер слова, j-номер буквы в слове, length[i]-длина каждого слова
    unsigned char symbol, word[100][100];
    while ((symbol=getch()) !='\r')//вводим символ, пока не нажмём Enter ('\r')
    {
        cout << (word[i][j]=symbol);
        length[i]++;
        if (((word[i][j]==' ') || (word[i][j]==',') || (word[i][j]=='.') ||
             (word[i][j]==';') || (word[i][j]=='!') || (word[i][j]=='?') ||
             (word[i][j]==')')  || (word[i][j]=='\"') || (word[i][j]=='\'') || (word[i][j]=='\r'))
             && (word[i][j-2]==168) && (word[i][j-1]==165))
        {
            length[i]=0;//если слово содержит ИЕ на конце, то пропустим его и будем записывать в массив слов следующее слово на место старого
            j=-1;
        }
        else if ((word[i][j]==' ') || (word[i][j]==',') || (word[i][j]=='.') ||
             (word[i][j]==';') || (word[i][j]=='!') || (word[i][j]=='?') ||
             (word[i][j]==')')  || (word[i][j]=='\"') || (word[i][j]=='\'') || (word[i][j]=='\r'))
        {
            i++;//если слово не содержит ИЕ, то будем записывать в массив слов следующее слово на новое место
            j=-1;
        }
        j++;
    }
    cout << "\n";
    for (int k=0; k<i+1; k++)
        for (int l=0; l<length[k]; l++)
        {
            cout << word[k][l];
        }
    cout << "\n";
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru