0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 28
1

Неожиданное поведение программы: почему программа внезапно завершает работу?

28.11.2016, 08:58. Показов 1277. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Писал в codeblocks с компилятором gnu gcc. После запуска и ввода данных завершается работа программы.
Словарь задан массивом отсортированных в лексикографическом порядке строк. Напишите программу эффективного поиска слова в словаре.

Входные данные
На вход программе сначала подается искомое слово, во второй строке — число n (1 <= n <= 100000) — количество слов в словаре. В следующих n строках расположены слова словаря, по одному слову в строке. Все слова состоят только из строчных латинских букв, слова упорядочены по алфавиту (расположены в лексикографическом порядке).

Длина слов не превосходит 20. Пустых слов нет.

Выходные данные
Выведите YES или NO в зависимости от того, есть искомое слово в словаре или нет.

Примеры
входные данные
abba
4
a
ab
aba
baba
выходные данные
NO

Код:
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 <cstdio>
#include <cstring>
using namespace std;
char* x[1000],s[256];
int n,i,strindex;
int searchs(char a[256], char s[256]){
     int j,k;
        for (j=1 ; j<=strlen(s); j++ ){
        if (a[j]==s[j]) k++;
        else return 0;
        if (k==strlen(s)) return 1;
     }
}
int main()
{
    scanf("%d %s", &n, &s );
    for ( i=1; i<=n; i++){
        scanf ("%s", &x[i]);
    }
    for ( i=1 ; i<=n; i++){
       strindex=searchs(x[i],s);
        if (strindex>=0) {
                printf("YES");
                break;
        }
        else printf("NO");
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2016, 08:58
Ответы с готовыми решениями:

Неожиданное поведение программы: почему не работает цикл while?
Проблема: Цикл While при != является бесконечным ,а при == не выполняется ни разу Ожидаемое...

Неожиданное поведение программы: почему не работает цикл do while?
Здравствуйте,подскажите,пожалуйста,почему не работает цикл ... Условие корявое? //Напишите...

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

Неожиданное поведение программы: почему при делени с остатком, в условии if получается true?
Ребят не могу понять #define N 64 int length=12; if ((N - 1) % matrix != 0) В переменной...

2
7638 / 6446 / 2940
Регистрация: 14.04.2014
Сообщений: 28,103
28.11.2016, 10:09 2
C++
1
char x[1000][1000];
Индексация массивов - с нуля.
0
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 28
30.11.2016, 06:09  [ТС] 3
Поподробнее можно?
0
30.11.2016, 06:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2016, 06:09
Помогаю со студенческими работами здесь

Неожиданное поведение программы: почему после каждой выведенной фразы в консоли появляются цифры?
почему после каждой выведенной фразы в консоли появляются цифры? например, Введите значение...

Неожиданное поведение программы: std::getline считывает строку только раз и на этом программа завершается (найти ошибку)
Строку считывает только раз и на этом программа завершается Code::blocks 17.12 #include...

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

Неожиданное поведение программы: найти ошибку в коде
Программа запрашивает у пользователя «Сколько Вам лет?» . Вы вводите положительное число до 100....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru