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

Проверьте, не является ли слово "кас" корнем слова без приставки - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
20.11.2011, 23:02     Проверьте, не является ли слово "кас" корнем слова без приставки #1
3 задачи
- проверьте, не является ли слово "кас" корнем слова без приставки.
- Отделите в слове повторяющиеся более двух раз буквы запятыми.
- Вычеркните из слова букву, предшествующую сочетанию "ча"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 23:02     Проверьте, не является ли слово "кас" корнем слова без приставки
Посмотрите здесь:

C++ Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом.
В заданной последовательности слов найдите все слова, начинающиеся с заданной приставки C++
Дано слово. Определить, является ли оно анаграммой другого слова C++
C++ Является ли X корнем данного многочлена C++
C++ Написать программу, проверяющую, является ли частью данного слова слово 'сок'
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
21.11.2011, 00:03     Проверьте, не является ли слово "кас" корнем слова без приставки #2
всё верно, можете преступать к работе.

Добавлено через 46 минут
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
- проверьте, не является ли слово "кас" корнем слова без приставки. 
- Отделите в слове повторяющиеся более двух раз буквы запятыми. 
- Вычеркните из слова букву, предшествующую сочетанию "ча"
*/
#include<string>
#include<iostream>
class wordAnalizer
{
    std::string word;
    wordAnalizer(std::string st): word(st) {   }
    bool isRoot(std::string root)
    {
        if (root.length() > word.length())
        {
            return !true && !false;
        }
        for (unsigned i = 0; i < root.length(); ++i)
        {
            if (root.at(i) != word.at(i))
            {
                return !true && !false;
            }
        }
        return true || false;
    }
    wordAnalizer& addCommas()
    {
        if (word.length() < 3)
        {
            return *this;
        }
        for (unsigned i = 2; i < word.length(); ++i)
        {
            word.at(i) == word.at(i - 1) && word.at(i) == word.at(i - 2) ? *word.insert(word.begin() + i, ',') : 0;
        }
        return *this;
    }
    wordAnalizer& cha()
    {
        if (word.length() < 3)
        {
            return *this;
        }
        for (unsigned i = 2; i < word.length(); ++i)
        {
            word.at(i) == 'а' && word.at( i - 1 ) == 'ч' ? *word.erase(word.begin() + i - 2) : 0 ;
        }
        return *this;
    }
 
    friend std::ostream& operator << (std::ostream&, const wordAnalizer&);
    friend int main();
};
 
std::ostream& operator << (std::ostream& stream, const wordAnalizer& wordd)
{
    stream << wordd.word;
    return stream;
}
 
int main()
{
    setlocale( LC_ALL, "Russian" );
    wordAnalizer words[] = { (std::string("чача")), "zzzzzz", "касманафт" };
    std::cout << std::boolalpha << words[0].cha() << std::endl << words[1].addCommas() << std::endl << words[2].isRoot("кас");
 
}
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
22.11.2011, 18:50  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #3
не работает
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
27.11.2011, 19:29  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #4
нужно решить задачку. три пункта. можно эти пункта сделать в виде трёх программ или в виде одной

4 задача.

- Проверьте, является ли "кас" корнем слова без приставки.
- Отделите в слове повторяющиеся более двух раз буквы запятыми.
- Вычеркните из слова букву, предшествующую сочетанию "ча".

третий пункт выглядит примерно так
C++
1
2
while((pos = str.find("ча"))  != string::npos)
        str.replace(pos-1, 1, "");
str.replace(pos-1, 1, ""); - меняет позицию pos-1 (символ перед ча), меняет один элемент, на "" - то есть ничего



как сделать остальные? и правильный ли 3 пункт?
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 19:36     Проверьте, не является ли слово "кас" корнем слова без приставки #5
Какие у Вас есть соображения по поводу алгоритмизации данных задач ? Советую решать по одной, а не пытаться сделать все и сразу.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
27.11.2011, 19:41     Проверьте, не является ли слово "кас" корнем слова без приставки #6
- Проверьте, является ли "кас" корнем слова без приставки.

Если после "кас" пишется буква "а", то в большинстве случаев "кас" будет корнем)
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
27.11.2011, 19:48  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #7
я вообще не соображаю по этой задаче) незнаю как её решать
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
27.11.2011, 19:52     Проверьте, не является ли слово "кас" корнем слова без приставки #8
osipov93, извини, я пока не умею толком писать программы)) вот только советом пытаюсь помочь)
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 19:55     Проверьте, не является ли слово "кас" корнем слова без приставки #9
Я предложил бы так:
1. Как минимум проверить наличие буквы перед "кас", если таковая есть, то это уже не корень без приставки, не так ли. Это или другой корень. Или корень с приставкой.
2. Дальше я бы уже не делал никаких проверок. Вася1q предложил что после "кас" должно быть "а". Ну тогда я предлагаю слово "касса", "кассир". Корень "кас", но после кас вовсе не буква "а", а буква "с". То есть дальше как проверить алгоритм я не то что не знаю, даже придумать таковой не могу. Проверять на букву это не решение. Можно проверять на наличие дальше суффикса (при этом заранее сохранить все известные суффиксы) и окончания. Но это тоже довольно кропотливая работа и не факт что это сработает во всех случаях. По этому я предлагаю делать только проверку на наличие приставки.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
27.11.2011, 19:59     Проверьте, не является ли слово "кас" корнем слова без приставки #10
1) Или соединительная гласная)

Добавлено через 1 минуту
greshnikk, Почему вы решили что в слове "касса" корень кас?
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 20:05     Проверьте, не является ли слово "кас" корнем слова без приставки #11
Цитата Сообщение от Вася1q Посмотреть сообщение
1) Или соединительная гласная)
Нет. В условии четко прописано. Проверьте, является ли "кас" корнем слова без приставки. То есть у нас есть слова имеющее корень равный "кас". Многокоренное слово имеет 2 корня. А нам сказали четко, что корень только "кас". Поэтому идет проверка на отсутствие символа перед "кас"
Цитата Сообщение от Вася1q Посмотреть сообщение
Почему вы решили что в слове "касса" корень кас?
Касса, кассир это однокоренные слова. Отсюда вывод, общий корень - "кас". Может быть "касс", но я предполагаю, что разница тут не велика.
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
27.11.2011, 20:08     Проверьте, не является ли слово "кас" корнем слова без приставки #12
Корень как раз "касс"))) но ладно, все равно вариант с суффиксом "а" действенный)
greshnikk
 Аватар для greshnikk
30 / 30 / 0
Регистрация: 05.11.2008
Сообщений: 162
27.11.2011, 20:25     Проверьте, не является ли слово "кас" корнем слова без приставки #13
Цитата Сообщение от Вася1q Посмотреть сообщение
Корень как раз "касс"))) но ладно, все равно вариант с суффиксом "а" действенный)
Какой корень в слове "касатка" ? Как минимум первый пример того, что проверка на гласную "а" не является частью решения.

Немного поразмыслив и посетив этот сайт я пришел к выводу, что проверка на "а" не такой уж и плохой ход. Да, конечно этот метод очень грубый. И если будут вводится новые слова, он будет не такой практичный, но в настоящее время можно решить так эту задачу.
Итак я узнал, что все слова с корнем "кас" имеют после букву "а". Более того, все слова, которые начинаются на "каса" имеют корень "кас", что тоже не маловажно. Исключение составляют 2 слова - касатка и касатик (я бы добавил еще касабланка). Так вот алгоритм вырисовывается следующий:
1. Проверка на символ перед "кас"
2. Проверка на "а" после "кас"
3. Проверка является ли слово одно из двух (трех).
После этого можно определенно сказать, что это слово с корнем "кас" и без приставки
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
28.11.2011, 12:05  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #14
ОЧЕНЬ срочно нужно решить задачку. три пункта. можно эти пункта сделать в виде трёх программ или в виде одной

4 задача.

- Проверьте, является ли "кас" корнем слова без приставки.
- Отделите в слове повторяющиеся более двух раз буквы запятыми.
- Вычеркните из слова букву, предшествующую сочетанию "ча".

[модераторы, прошу извинения за повтор.]
 Комментарий модератора 
Намеренное дублирование тем в следующий раз будет наказываться карточкой.
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
28.11.2011, 12:13  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #15
UP!!!!!!!!!!!!!
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
28.11.2011, 12:13  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #16
up/ нужна помощь

Добавлено через 16 часов 59 минут
UP!!!!!

Добавлено через 12 секунд
UP!!!!!
 Комментарий модератора 
2.14 Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.
co6ak
Кошковед
 Аватар для co6ak
403 / 496 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
28.11.2011, 12:19     Проверьте, не является ли слово "кас" корнем слова без приставки #17
что значит "не работает"
текст ошибок хотяб
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
28.11.2011, 12:20     Проверьте, не является ли слово "кас" корнем слова без приставки #18
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вычеркните из слова букву, предшествующую сочетанию "ча".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    cout << "Enter string: ";
    getline(cin, s, '\n');
    size_t it = s.find("че");
    if (it != string::npos)
        s.erase(it - 1, 1);
    cout << s << endl;
    system("pause");
    return 0;
}
osipov93
3 / 3 / 0
Регистрация: 17.10.2011
Сообщений: 131
28.11.2011, 12:30  [ТС]     Проверьте, не является ли слово "кас" корнем слова без приставки #19
если вводить просто ""ча" чтоб ничего не удаляла

Добавлено через 29 секунд
не запускается. вообще не правильная прога
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 12:53     Проверьте, не является ли слово "кас" корнем слова без приставки
Еще ссылки по теме:

C++ 1. Написать программу, проверяющую, является ли частью данного слова слово 'сок'
C++ Написать программу, проверяющую, является ли частью данного слова слово 'сок'
Корень под корнем, который под корнем, который в свою очередь под корнем., под корнем C++

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

Или воспользуйтесь поиском по форуму:
Петррр
 Аватар для Петррр
5917 / 3354 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
28.11.2011, 12:53     Проверьте, не является ли слово "кас" корнем слова без приставки #20
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <ctype.h>
 
using namespace std;
 
int main()
{
        string s = "hello, wworld";
        //cout << "Enter string: ";
        //getline(cin, s, '\n');
        size_t it = s.find("wo");
        if (it != string::npos)
                if (it != 0 && isalpha(s[it]))
                    s.erase(it - 1, 1);
        cout << s << endl;
        system("pause");
        return 0;
}
Ваши проблемы связана с кодировкой консоли винды. И решать ее я ненамерен.
Yandex
Объявления
28.11.2011, 12:53     Проверьте, не является ли слово "кас" корнем слова без приставки
Ответ Создать тему
Опции темы

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