Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
12 / 7 / 5
Регистрация: 20.11.2018
Сообщений: 78

Исправить ошибку в коде

31.03.2019, 19:47. Показов 1287. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ЗАДАНИЯ:
Задана не пустая последовательность слов из латинских букв. Последним символом этой послидновности является точка. Словам называются группы символов, которые разделены одиним или несколькими пробелами и не содержат пробелов внутри себя. Определить количество слов, которые не содержат заданной буквы. Создать программу, которая состоит из отдельных функций, вызываемых к методе main ().
КОД:
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 <string>
#include <sstream>
#include <vector>
#include <iterator>
 
using namespace std;
 
int count(vector<string>& v, const char ch) {
    int result = 0;
    for (auto& word : v)
        if (word.find(ch) == string::npos) ++result;
    return result;
}
 
int main() {
    char ch;
    cin >> ch;
 
    string line;
    getline(cin, line, '.');
    
    stringstream ss(line);
    vector<string> words(istream_iterator<string>(ss), {});
 
    cout << count(words, ch);
}
Где ошибка? Что нужно исправить?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2019, 19:47
Ответы с готовыми решениями:

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

Исправить ошибку в коде
Задание - Рандомно задать 5 чисел в бинарном виде. Найти их сумму и вывести результат. Написал код, но выводит не сумму, а,почему-то...

Исправить ошибку в коде
где ошибка? #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main () { setlocale(LC_ALL,&quot;Russian&quot;); double...

9
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
31.03.2019, 19:51
denis novik, тут
0
12 / 7 / 5
Регистрация: 20.11.2018
Сообщений: 78
31.03.2019, 19:55  [ТС]
zayats80888, код который вы написали не подходит, так как я новичек в c++ и не понимаю код
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
31.03.2019, 20:04
denis novik, тогда попробуйте написать свой, исходя из своих возможностей, а я помогу довести до ума, если что-то не получится.
0
12 / 7 / 5
Регистрация: 20.11.2018
Сообщений: 78
01.04.2019, 10:50  [ТС]
zayats80888,
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
#include <iostream>
#include <cstring>
#include <cstdlib>
int main()
{
    char Buf[256];
    int l=0;
    std::cout<<"Enter string\n";
    std::cin.getline(Buf, 256);
    char *Ptr;
    Ptr=strtok(Buf, " ,");
    for(int i=strlen(Ptr);i!=0;i--)
    {
        if (Ptr[i]!='w')
        {
        l++;
        break;
        }
    }
    while(Ptr)
    {
        Ptr=strtok(0, " ,.");
        if(Ptr)
        {
            for(int i=strlen(Ptr);i!=0;i--)
            {
                if (Ptr[i]!='w')
                    {
                        l++;
                        break;
                    
                    }
            }
        }
    }
    std::cout<<l<<'\n';
    return 0;
}
Вот, только у меня не правильно считает количество слов. И как написать, что бы не первая и последняя буква, а делало анализ всех букв?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
01.04.2019, 11:14
Лучший ответ Сообщение было отмечено denis novik как решение

Решение

denis novik,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
#include <cstdlib>
int main()
{
    char Buf[256];
    char ch;
    std::cout << "Enter char\n";
    std::cin >> ch;
    std::cin.get();
    std::cout << "Enter string\n";
    std::cin.getline(Buf, 256);
    char *Ptr = strtok(Buf, " ");
    int count = 0;
    while (Ptr) {
        if (!strchr(Ptr, ch)) ++count;
        Ptr = strtok(0, " ");
    }
    std::cout << count;
}
1
12 / 7 / 5
Регистрация: 20.11.2018
Сообщений: 78
01.04.2019, 12:06  [ТС]
zayats80888, еще один вопрос, а как сделать, что бы эта программа состояла из функций, которые вызываються в main()?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
01.04.2019, 12:20
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 <iostream>
#include <cstring>
#include <cstdlib>
 
void input(char buf[], int size, char& ch) {
    std::cout << "Enter char\n";
    std::cin >> ch;
    std::cin.get();
    std::cout << "Enter string\n";
    std::cin.getline(buf, size);
}
 
int count(char buf[], char ch) {
    char *Ptr = strtok(buf, " ");
    int result = 0;
    while (Ptr) {
        if (!strchr(Ptr, ch)) ++result;
        Ptr = strtok(0, " ");
    }
    return result;
}
 
int main()
{
    char Buf[256];
    char ch;
    input(Buf, 256, ch);
    std::cout << count(Buf, ch);
}
1
12 / 7 / 5
Регистрация: 20.11.2018
Сообщений: 78
03.04.2019, 13:06  [ТС]
zayats80888,
C++
1
if (!strchr(Ptr, ch)) ++result;
ЧТо возвращает эта функция? Или делает?

Добавлено через 13 минут
zayats80888, и чему равен Ptr?
0
0 / 0 / 0
Регистрация: 25.10.2018
Сообщений: 63
03.04.2019, 16:57
denis novik, Возвращает указатель на первое вхождение символа в слове
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2019, 16:57
Помогаю со студенческими работами здесь

Исправить ошибку в коде. С++
Помогите исправить ошибку. Ошибка заключается в некорректной работе при вводе сообщения с пробелом. #include &quot;stdafx.h&quot; ...

Исправить ошибку в коде
задание - в файле записаны фамилия и номер телефона работника. Ввести номер, и нужно чтобы на экран вывело фамилию и номер этого работника....

исправить ошибку в коде
Пожалуйста помогите решить проблему с кодом! програма сделана в borland C++. #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; ...

Исправить ошибку в коде
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;math.h&gt; using namespace std; const int MaxIter=500; int matn () { double...

исправить ошибку в коде
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #define OUTPUT_FILE...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru