Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Natali99
0 / 0 / 0
Регистрация: 21.11.2016
Сообщений: 3
1

Поиск ошибок в тексте (не срабатывает код)

08.12.2016, 18:52. Просмотров 724. Ответов 1
Метки нет (Все метки)

Помогите найти ошибку в коде (не срабатывает условие if(ptr[z-ptr-1]!='-') ). Задание звучит так: Найти в веденном тексте не правильное написание частиц "-то, -либо, -нибудь", т.е БЕЗ "-"
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
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream> 
#include <locale.h>
#include <ctype.h>
#include <string.h>
#include <windows.h> 
 
using namespace std;
 
#define size 1024
 
int main(){
    
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    char* vse[]={"то","либо","нибудь"};
    char buffer[size];
    char symbol[size];
    cout<<"Введите текст\n";
    fgets( buffer, 1024, stdin );   
    //cout<<"Введите текст";
    //gets( symbol);
 
    char *ptr = strtok(buffer, " ,.");
 
    size_t count=0; 
    char* z=NULL;
    while(ptr!=NULL)
    { z=NULL;
        int i;
        for (i=0;i<3;i++)
        {
            z=NULL;
            z=strstr(ptr,vse[i]);
            if(z>ptr)
            {   
                if(ptr[z-ptr-1]!='-')
                size_t count=0;
                    ++count;
            }
        }
 
        
        ptr = strtok(NULL, " ,.");
    }
    cout<<"Ошибки встречаются: "<<count<<std::endl;
    getch();
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2016, 18:52
Ответы с готовыми решениями:

Перевод десятичного числа в шеснадцатиричное (проверьте код на содержание ошибок)
#include &quot;stdio.h&quot; #include &quot;math.h&quot; #include &quot;string.h&quot; main() { ...

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

Поиск гласных в тексте
дан текст в несколько строчек. надо найти количество гласных букв. как обычно...

Поиск подстроки в тексте
Помогите пожалуйста отладить программу. Задание: поиск подстроки в строке,...

Поиск палиндромов в тексте
Разработать программу palindrom,выполняющую поиск всех палиндромов в заданном...

1
shvyrevvg
724 / 540 / 270
Регистрация: 12.05.2016
Сообщений: 1,571
08.12.2016, 19:31 2
Лучший ответ Сообщение было отмечено Natali99 как решение

Решение

Как вариант
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
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <windows.h>
 
#define DELIM " ,.!?\n\t"
 
bool is_correct(const char* word)
{
    static const char* PARTS[] = {"то", "либо", "нибудь", NULL};
 
    if (strlen(word) < 3)
        return true;
 
    for (size_t i = 0; PARTS[i]; i++) {
        char* ptr = strstr(word, PARTS[i]);
        if ( ptr && !(*(ptr + strlen(PARTS[i]))) && (*(ptr-1) != '-'))
            return false;
    }
    return true;
}
 
int main(void) 
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    char buf[BUFSIZ];
    while (printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf!='\n')
        for (char* ptr = strtok(buf, DELIM); ptr; ptr=strtok(NULL, DELIM))
            if (!is_correct(ptr)) puts(ptr);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2016, 19:31

Поиск действительного числа в тексте
Помогите! Поиск действительного числа в тексте (например 123,45). Вывести его...

Поиск заданных слов в тексте
Нужно проанализировать содержимое файла и вывести количество встречающихся в...

Поиск целого числа в тексте
Здраствуйте, в тексте нужно найти целое число и сделать вывод на экран. У меня...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru