Форум программистов, компьютерный форум CyberForum.ru

Поиск слова в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужна помощь в выборе архитектуры системы. http://www.cyberforum.ru/cpp-beginners/thread540818.html
Стоит задача создать довольно сложную систему. Прошу помоч в выборе архетектуры. Примерное ТЗ: Есть много (150-200) компьютеров, разбросанных в разных местах (например, в разных городах). Операторы заполняют данные в программы, потом раз в какое-то время (все в разное от недели до 2-3 месяцев) отправляют данные в Центр Обработки Данных (ЦОД). В ЦОД есть сервер, где расположена общая БД, 5-10...
C++ функция Уменьшение и Сумма не совсем правильно работают. #include "stdafx.h" #include <stdio.h> #include <conio.h> // создать двумерный массив 3х4 //ввод элементов int* *massiv() { int* *mas=new int*;//Обьявление двухмерного динамического массива for(int i=0; i<3; i++) { http://www.cyberforum.ru/cpp-beginners/thread540817.html
Решить задачу сортировки имеющегося массива разными способами C++
Задайте любым способом массив-вектор длиной 30 из целых чисел. Решите задачу сортировки имеющегося массива вначале одним способом, затем другим способом (например, метод перебора см. лекции по Си - I способ, при помощи алгоритма попарного сравнения соседних элементов - II способ, который разбирался при изучении языка Паскаль или используйте другой известный вам метод). Для защиты предоставить...
Модификация программы C++
Препод задал модифицировать программу. программа считает есть ли в последовательности цифры, которые больше, чем следующие. #include <stdio.h> #include <conio.h> #include <locale.h> #include "input.h" int main() { setlocale (LC_ALL, "russian");
C++ Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они в http://www.cyberforum.ru/cpp-beginners/thread540755.html
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте.
C++ Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные. Дан текст на английском языке, который заканчивается точкой. В тексте удалить все гласные буквы, а согласные заменить на прописные. подробнее

Показать сообщение отдельно
colding54
Заблокирован
06.04.2012, 20:04     Поиск слова в массиве
Здравствуйте. Задача стоит найти слово в массиве, если слово найдется, то вывести его индекс. Если нет, то вывести "Слово не найдено". Собственно основная часть есть, осталось сделать вывод фразы, если слово не найдено.
Была мысл(мне кажется полнейшей чушью) ввести 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 !
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru