Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
MRG_Serejka
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 185
Завершенные тесты: 2
1

Ошибка программы в массивах указателей

31.10.2016, 18:45. Просмотров 108. Ответов 1
Метки нет (Все метки)

Добрый вечер уважаемые. Возник вопрос , почему если я ввожу любое другое слово кроме тех которые не в массиве. Программа выводит не
C++
1
2
if (!*dictionary[i][0])
cout <<word<<" Не найдено.\n ";
а выводит "Segmentation fault (core dumped)"


Подскажите пожалуйста с чем это связанно


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
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
char *dictionary[][2]={
"карандаш", "инструмент для рисования.",
"клавиатура" ,"устройство ввода.",
"ружье","Плечевое огнестрельное оружие",
"Самолет","Воздушное судно с неподвижными крыльями",
"сеть", "группа соедененных между собой компьютеров",
" ", " "};
char word[80];
int i;
 
cout << "Введите слово: ";
cin >> word;
 
        for (i=0;*dictionary[i][0];i++)
        {
        if(!strcmp(dictionary[i][0],word))
                {
                cout << dictionary [i][1]<<'\n';
                break;
                }
        }
 
if (!*dictionary[i][0])
cout <<word<<" Не найдено.\n ";
 
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2016, 18:45
Ответы с готовыми решениями:

Ошибка в двумерных массивах
Пишет ошибку Run-Time Check Failure #2 - Stack around the variable 'mas2' was...

Реализация программы с использованием ссылок и указателей
Добрые люди! Подскажите, есть ли тут использованные ссылки и указатели? Препод...

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

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*'...

Алгоритмы и программы по использованию указателей и динамических структур данных
Здравствуйте! Прошу Вас помочь мне в написании задачи на С++. Вот текст: Дан...

1
DrOffset
8140 / 4722 / 1153
Регистрация: 30.01.2014
Сообщений: 7,690
31.10.2016, 18:55 2
Цитата Сообщение от MRG_Serejka Посмотреть сообщение
почему
Потому что останов цикла у тебя достигается при проверке на ноль первого символа одной из строк. А у тебя нет такой строки в этом массиве, которая бы обеспечила корректный выход из цикла.
Сделай так (см. комментарий):
C++
1
2
3
4
5
6
7
8
9
    char const *dictionary[][2]=
    {
        "карандаш", "инструмент для рисования.",
        "клавиатура","устройство ввода.",
        "ружье","Плечевое огнестрельное оружие",
        "Самолет","Воздушное судно с неподвижными крыльями",
        "сеть", "группа соединенных между собой компьютеров",
        "" // <! здесь
    };
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2016, 18:55

Алгоритмы и программы по использованию указателей и динамических структур данных
Здравствуйте! Помогите, пожалуйста, написать задачу. Вот текст:Дан указатель P0...

Объясните как записать код программы с использованием указателей
Раскрасить в массиве при выводе бирюзовым цветом отрицательные элементы на...

Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей?
Доброго времени суток! Рассматриваю пример (из Лафоре) сортировки массива...


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

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

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