0 / 0 / 0
Регистрация: 25.03.2021
Сообщений: 6

В коде не работает команда length_of_text и strtok, в чем может быть проблема?

06.05.2021, 13:05. Показов 783. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в коде е работает команда length_of_text и strtok, в чем может быть проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
int main()
{
    const char znak[12] = { " ,:;./!?-_\n" };
    char* input = new char[200];
    cout << "Enter the text(max 200 characters)\n";
    cin.getline(input, length_of_text);
    system("cls");
    std::cout << "Words beginning and ending with a digit: " << std::endl;
    char* text = strtok(input, znak);
    while (text != NULL)
    {
        if (isdigit(text[0]) && isdigit(text[strlen(text - 1)]))
            std::cout << text << ", ";
        text = strtok(NULL, znak);
    }
    delete[] input;
    getchar();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2021, 13:05
Ответы с готовыми решениями:

Частично не работает инет, в чем может быть проблема?
У меня дома комп и ноутбук, соединены через роутер. У ноута проблем с инетом нет и через сетевой кабель, и через вай фай. А с компа инет не...

У меня не работает Maple - в чем может быть проблема
У меня не работает Maple в чем может быть проблема? Прилагаю скрин.

На одном компьютере запрос работает а на другом нет. В чём может быть проблема?
Доброго времени суток. У меня возникла такая проблема, что на моём ноутбуке запрос работает нормально, а на другом выводит пустые столбцы....

5
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
06.05.2021, 20:46
Ну так определи сначала length_of_text.
0
26 / 26 / 1
Регистрация: 10.09.2018
Сообщений: 241
07.05.2021, 02:44
Код подправил, но алгоритм не рабочий. Проблему решил)

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 <windows.h>
 
using namespace std;
int main()
{
    const char znak[12] = { " ,:;./!?-_\n" };
    char* input = new char[200];
    int length_of_text = 0;
    cout << "Enter the text(max 200 characters)\n";
    cin.getline(input, length_of_text);
    system("cls");
    std::cout << "Words beginning and ending with a digit: " << std::endl;
    char* text = strtok(input, znak);
    while (text != NULL)
    {
        if (isdigit(text[0]) && isdigit(text[strlen(text - 1)]))
            std::cout << text << ", ";
        text = strtok(NULL, znak);
    }
 
    delete[] input;
    system("PAUSE");
 
    return 0;
}
0
0 / 0 / 0
Регистрация: 25.03.2021
Сообщений: 6
07.05.2021, 14:00  [ТС]
Здравствуйте, почему-то strtok все равно вызывает ошибку. Было написано что стоит поменять на strtok_s но появились новые ошибки.
Миниатюры
В коде не работает команда length_of_text и strtok, в чем может быть проблема?   В коде не работает команда length_of_text и strtok, в чем может быть проблема?  
0
26 / 26 / 1
Регистрация: 10.09.2018
Сообщений: 241
07.05.2021, 14:23
Kate2221, 1 запрещена в VS без директивы которая указана пряма в сообщении ошибки. Вторая работает по другому.
Первый раз пишете код?
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
07.05.2021, 14:58
Цитата Сообщение от Kate2221 Посмотреть сообщение
Здравствуйте, почему-то strtok все равно вызывает ошибку. Было написано что стоит поменять на strtok_s но появились новые ошибки.
Хорошо. Так вам нужно использовать strtok_s() вместо strtok(). Переделал ваш код с использованием strtok_s(), попробуйте:
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 <iostream>
#include <string>
using namespace std;
 
int main()
{
    char* input = new char[200];
    cout << "Enter the text(max 200 characters)\n";
    cin.getline(input, 200);
    system("cls");
    cout << "Words beginning and ending with a digit: " << endl;
 
    const char* znak = " ,:;./!?-_\n";
    char* text, * next_text;
    int i = 0;
    text = strtok_s(input, znak, &next_text);
    while (text)
    {
        if (isdigit(text[0]) && isdigit(text[strlen(text) - 1]))
            cout << text << ", ";
        text = strtok_s(NULL, znak, &next_text);
    }
    delete[] input;
    getchar();
    return 0;
}
Если бы вы хотите использовать strtok(), то можно вставить #define _CRT_SECURE_NO_WARNINGS сверху, тоесть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
int main()
{
    const char znak[12] = { " ,:;./!?-_\n" };
    char* input = new char[200];
    cout << "Enter the text(max 200 characters)\n";
    cin.getline(input, 200);
    system("cls");
    std::cout << "Words beginning and ending with a digit: " << std::endl;
    char* text = strtok(input, znak);
    while (text != NULL)
    {
        if (isdigit(text[0]) && isdigit(text[strlen(text) - 1]))
            std::cout << text << ", ";
        text = strtok(NULL, znak);
    }
    delete[] input;
    getchar();
    return 0;
}
Успехов !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2021, 14:58
Помогаю со студенческими работами здесь

Программа не запускается, хотя при запуске из IDE работает нормально. В чём может быть проблема?
from tkinter import * def itog(): global summa global count global a armean = summa/a ans.configure(text='Среднее...

В чем может быть ошибка в этом коде?
Вот условия задачи. Дано: две строки текста. Надо: вывести результаты сравнения этих строк с учётом регистра и без учёта...

В чем может быть проблема
Доброе утро! Совсем новичок в маткаде. Не могу понять,почему не строится график

В чем может быть проблема?
Ноутбук HP 250 G1, win7 x64, драйвер карты Ralink RT3290 802.11bgn Wi-Fi Adapter. Такая проблема, если выключаю в сон/обычное завершение,...

В чем может быть проблема?
Поработал отец на компе. Потом через пару дней включаю его а он молчит, кулер не работает БП тоже, тишина вообщем. Блок питания это??? или...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru