Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 6
1

Напечатать слова, которые состоят из первых и последних букв (но не цифр) всех слов текста

28.12.2016, 09:35. Показов 3464. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот мои попытки, Напечатать слова, которые состоят из первых и последних букв (но не цифр) всех слов текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <string.h>
int main()
{
 
s:char;
    char slovo[10];
    while not f.eof do {
        read(f, s);
        if (s != ' ')
            strcat(slovo, s);
        else {
            cout << slovo[0] << s[strlen(slovo)]
                strcpy(slovo, "")
        } // else 
    } //eof
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2016, 09:35
Ответы с готовыми решениями:

Напечатать все слова, которые состоят из тех же букв что и последнее слово текста
Прог на c++ дан текст,который заканчивается точкой.текст состоит из слов,разделенных...

Напечатать те слова, которые состоят из всех букв, что и слово "red"
Напечатать те слова, которые состоят из всех букв, что и слово &quot;red&quot;. Повторения допускаются. Слово...

Записать строку из слов, которые состоят из букв первого слова строки
Привет! Нужна ваша помощь по данной задаче: Записать в новую строку слова, которые состоят из тех...

Вычислить количество слов анаграмм (Слова которые состоят из одних и тех же букв)
Дано предложение, необходимо посчитать количество анаграмм в этом предложении. Пример: Ввод:...

18
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
28.12.2016, 12:17 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
29
30
31
32
33
34
35
#include <iostream>
#include <sstream>
#include <fstream>
#include <string> 
#include <cctype>
using namespace std;
 
int main()
{
    ifstream myfile ("file.txt");
    string s;
    string sub;
    while ( getline(myfile, s))
    {
        istringstream iss(s);
        do
        {
            sub="";
            iss >> sub;
            string st = sub.substr(0, sub.size()); 
            if(st.length()>0)
            {
                char a = st[0];
                char b = st[st.size()-1];
 
                if(isalpha(a)&&isalpha(b))
                cout<<a<<b;
                cout<<endl;
            }
        } while (iss);
    }
    myfile.close();
    system("pause");
    return 0;
}
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.12.2016, 12:27 3
а что должно вывести приложение, если пользователь написал такие строки:

привет1
п1
?
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
28.12.2016, 13:15 4
буквы в файле в словах должны быть латинские
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.12.2016, 13:43 5
да пофиг, суть дела не меняет... пусть будет:

hello1
h1
?
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
28.12.2016, 14:02 6
проверь

сначала исправить строчку 26
C++
1
                if(isalpha(a)&&isalpha(b)&&b!=' ')
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.12.2016, 14:31 7
то я не до конца вопрос понял... но все равно, должно ли выводиться слово:
"а" к примеру?
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
28.12.2016, 14:44 8
я проверил на таком тексте
hello
hello1
h1
?
выводит
ho
слова из одной буквы не будут выводится, т.к в задании вроде как написано
"Напечатать слова, которые состоят из первых и последних букв" что я понимаю именно как
то, что в слове не может быть одной буквы
да, исправлять ничего не нужно
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.12.2016, 14:59 9
не... я так сначала то-же подумал, но я так понимаю, нужно вывести слова, именно слова целяком, которые начинаются и заканчиваются на "букву", т.е.
hello - true - print: hello
hello1 - false
h1 - false
? - false
h - хз, теоретически нужно т.к. и начинается на букву и заканчивается на букву, но не где не сказано, что слово не может начинаться и заканчиваться на "одну и ту-же букву" - соответственно скорее true чем false
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
28.12.2016, 15:18 10
чтобы изменить вывод вместо строчки
C++
1
cout<<a<<b;
нужно написать
C++
1
cout<<st;
тогда выведет
hello

Добавлено через 5 минут
ну и мне кажется что слов из одной буквы не бывает
0
Peoples
28.12.2016, 15:22
  #11

Не по теме:


Цитата Сообщение от afront Посмотреть сообщение
ну и мне кажется что слов из одной буквы не бывает
"я" :)
Если считать за слово местоимение

0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 15:40 12
Цитата Сообщение от afront Посмотреть сообщение
ну и мне кажется что слов из одной буквы не бывает
I..

Добавлено через 6 минут
Мне кажется, тут другой алгоритм нужен.
Надо сначала запомнить все последние и первые буквы (если это буквы), встречающиеся во всех словах.
А потом вывести все слова, которые состоят только из найденных букв.

Добавлено через 11 минут
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
#include <algorithm>
#include <cctype>
#include <iostream>
#include <sstream>
#include <string>
#include <unordered_set>
 
int main()
{
    const std::string str = "Eniki beniki eli vareniki nok";
    std::unordered_set<char> chars;
    std::istringstream ist(str);
    std::string word;
    while (ist >> word)
    {
        if (isalpha(word.front()))
            chars.insert(static_cast<char>(tolower(word.front())));
        if (isalpha(word.back()))
            chars.insert(static_cast<char>(tolower(word.back())));
    }
    ist.clear();
    ist.str(str);
    while (ist >> word)
        if (std::all_of(word.begin(), word.end(), [&chars](const char c)
            { return chars.find(static_cast<char>(tolower(c))) != chars.end(); }))
        {
            std::cout << word << std::endl;
        }
}
0
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 6
28.12.2016, 16:17  [ТС] 13
без стринга как?
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 16:22 14
Цитата Сообщение от cawa21 Посмотреть сообщение
без стринга как?
На С++ без стрингов никак

Используйте char массивы. Но вам, наверное и на сишных функциях всё надо.
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
28.12.2016, 16:26 15
Цитата Сообщение от cawa21 Посмотреть сообщение
без стринга как?
можно и "как", но тогда в ветку Си
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2016, 16:40 16
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 <ctype.h>
#include <stdio.h>
#include <string.h>
#define SIZE 256
#define DELIM " ,."
 
int main(void)
{
    char str[SIZE] = "Eniki beniki eli vareniki nok", *pWord, strDupl[SIZE], chars[SIZE], *pChars = chars, *p;
    strcpy(strDupl, str);
    for (pWord = strtok(str, DELIM); pWord; pWord = strtok(NULL, DELIM))
    {
        *pChars++ = tolower(*pWord);
        *pChars++ = tolower(pWord[strlen(pWord) - 1]);
    }
    *pChars = '\0';
    for (pWord = strtok(strDupl, DELIM); pWord; pWord = strtok(NULL, DELIM))
    {
        for (p = pWord; *p; p++)
            if (!strchr(chars, tolower(*p)))
                break;
        if (!*p)
            printf("%s\n", pWord);
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 6
29.12.2016, 03:41  [ТС] 17
Цитата Сообщение от afront Посмотреть сообщение
ifstream myfile ("file.txt"
как она работает
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,628
29.12.2016, 08:12 18
Цитата Сообщение от cawa21 Посмотреть сообщение
как она работает
использует istringstream, подробнее здесьhttp://www.cplusplus.com/refer... ingstream/
0
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 6
09.01.2017, 23:45  [ТС] 19
у меня выводит все слова,а надо чтоб выводила слова которые состоят из первых и последних букв всего текста///
0
09.01.2017, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2017, 23:45
Помогаю со студенческими работами здесь

Слова состоят из цифр.заменить 0-ми те,которые состоят из повторов одной и той же цифры
Слова состоят из цифр.заменить 0-ми те,которые состоят из повторов одной и той же цифры. помогите...

Напечатать слова, которые состоят с первых и последних букв (но не цифр) всех слов текста
Задача такова, написать прогу на WinForm чтобы: Напечатать слова, которые состоят с первых и...

Напечатать все слова, которые состоят только из латинских букв, и в них чередуются гласные и согласные букв
Напечатать все слова, которые состоят только из латинских букв, и в них чередуются гласные и...

Напечатать все слова, отличные от последнего слова, которые состоят из тех же букв, что и первое
п.1. - Напечатать все слова, отличные от последнего слова, которые со-стоят из тех же букв, что и...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru