Заблокирован

Поиск слова в массиве

06.04.2012, 20:04. Показов 17587. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Задача стоит найти слово в массиве, если слово найдется, то вывести его индекс. Если нет, то вывести "Слово не найдено". Собственно основная часть есть, осталось сделать вывод фразы, если слово не найдено.
Была мысл(мне кажется полнейшей чушью) ввести int k; и присвоить k=i;

Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    if(slovo!=0)
{
    for(i=0;i<a;i++)
    {
     if(strcmp(slovo,mass[i])==0)
     {
      printf("\n indeks  %d",i);
     k=i;
     }
    }
//Затем сделать такой ход здесь 
if(strcmp(slovo,mass[k]))!=0) printf("нет такого слова");
}

Это без вывода фразы, здесь работает поиск и вывод индекса
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
#include <stdio.h>
#include <iostream>
#include <string.h>
 
int main()
{
    char mass [80][80];
    char slovo[80];
    int i=0;
    int a;
    
 
FILE *f;
f=fopen("f.txt", "r");
if(f==NULL) printf("файл f.txt файл не открыт\n");
 
while(!feof(f))
{
     fscanf(f,"%s",&mass[i]);
     printf("%s\n", mass[i]);
     i++;
}
a=i;
printf("Введите слово для поиска: ");
gets(slovo);
 
    if(slovo!=0)
{
    for(i=0;i<a;i++)
    {
     if(strcmp(slovo,mass[i])==0)
     {
      printf("\n indeks  %d",i);
     }
    }
}
 
 
    return 0;
}
Текстовый файл выглядит так:
privet
hi
go
to
do
pay

Добавлено через 38 минут
Ребята получился вывод фразы, если слово не найдено.

Но что-то не дает покоя, и говорит внутри меня "бестолковый вариант!!!".
Подскажите как можно переделать вывод фразы.

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
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <conio.h>
 
int main()
{
    char mass [80][80];
    char slovo[80];
    int i=0;
    int a;
    int k;
FILE *f;
f=fopen("f.txt", "r");
if(f==NULL) printf("файл f.txt не открыт\n");
 
while(!feof(f))
{
     fscanf(f,"%s",&mass[i]);
     printf("%s\n", mass[i]);
     i++;
}
a=i;
printf("Введите слово для поиска: ");
gets(slovo);
 
    if(slovo!=0)
{
    for(i=0;i<a;i++)
    {
     if(strcmp(slovo,mass[i])==0)
     {
      printf("\n индекс слова %d",i);
      k=i;
     }
 
    }
if(strcmp(slovo,mass[k])!=0)printf("слово не найдено");
 
}
getch();
}
Добавлено через 1 час 16 минут
UP !
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2012, 20:04
Ответы с готовыми решениями:

Как осуществить в строковом массиве поиск именно слова, а не части слова?
как осуществить в строковом массиве поиск именно слова(!), а не части слова. Допустим, есть строка: &quot;this is horosho&quot; Если я...

Поиск слова в массиве
Пример: программа спрашивает у пользователя предложение, он их вводит, после она ищет в нем слова, например &quot;дом&quot; и...

Поиск и вствка слова в массиве
Дано задание: Найти s1 в строке. Вставить s2 после найденного. Между ними вставить номер внесённого изменения. Не понимаю, как...

3
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
06.04.2012, 20:16
colding54, Измени на:
C++
1
2
3
4
5
if(strcmp(slovo,mass[i])==0)
     {
      printf("\n indeks  %d",i);
      return 0;
     }
А после цикла напиши:
C++
1
printf("Слово не найдено");
2
Заблокирован
06.04.2012, 20:40  [ТС]
Задача решена! Спасибо, eji.
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 39
05.11.2015, 09:44
использую такую же конструкцию для поиска команды в буфере.... ничего не выходит
буфер работает, данные приходят, записываются в прерывании....
C++
1
2
3
4
5
6
7
8
9
10
11
const char* command_open="X";   // Искомое слово в массиве
 
for(int i=0;i<BUFSIZERX;i++) // перебираем буфер
    {   
        if(strcmp(command_open,bufRX[i])==0)
        {
         message_send(message_check);  // отдельно отправка сообщения работает.
         break;
        }
    }
        clear_bufRX(); // Очищаем буфер (заполняет буфер нулями)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2015, 09:44
Помогаю со студенческими работами здесь

Поиск слова в массиве с использованием итератора
как реализовать поиск слова в массиве путем итератора само слово находится в переменной stro=&quot;jkhjg&quot; Надо вывести m этого...

Поиск слова в массиве символов (строке)
Вроде правильно все а не работает. В чем причина? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Поиск слова в массиве символов char
Получаю массив символов типа char из com port. есть ли способ поиска в этом массиве необходимого слова кроме как побайтово копировать ...

Расположить слова в массиве символов в алфавитном порядке по первой букве слова
Введите массив символов из 14 элементов. Расположить слова в алфавитном порядке по первой букве слова. Добавлено через 19 часов 40...

В заданном символьном массиве найти слова, в которых первая буква слова встречается в нём ещё 1 раз
Дан символьный массив. Вывести на печать те слова, в которых первая буква слова встречается в нём ещё 1 раз. гуглил, искал, нету подобной...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru