Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск по неполному совпадению в структуре данных 
:(
    Опции темы
pharrell
Дата 27.6.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



помогите пожалуйста написать функцию поиска по неполному совпадению в структуре,в Visual C++6. 
PM MAIL   Вверх
_hunter
Дата 27.6.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



поможем.
спрашивай что не понятно 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
pharrell
Дата 27.6.2006, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Не получается сделать так чтобы при поиске с неполным совпадением в структуре(т.е. названия) выводилось название и т.д.Получилось сделать только при полном совпадение названия  вот функция.
void find()
    {
        char sig[3];
        counter();
        j=0;
        sig[0]='n';
        sig[1]='o';
        sig[2]='\0';
        struct recept tmp;                                     
        printf ("\n Enter recept name:  "); 
        scanf ("%s", &tmp.name);                          
        
        for (i=0; i<=n; i++)
        {
            if (strcmp(tmp.name, sig)!=0)                         
            {
            if (strcmp(tmp.name,book[i].name)==0)            
                {
                    book[j]=book[i];                               
                }
                else
                {
                    goto end;                                         
                }
            }
            
        j++;
end:;
        }
    n=j;
    printf ("Searching result: \n\n");
    if (j==0)
    {
        printf("No recepts\n\n");
    }
    else
    {
        i=j;
        output();
    }
    getch();
    } 
PM MAIL   Вверх
_hunter
Дата 27.6.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



так что тебе не понятно? 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
pharrell
Дата 27.6.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Как сдесь сделать так чтобы выводилась вся строка если в ней содержится определенный образец,который меньше чем эта строка?Более обший случай:У нас есть  строки,мы вводим слово(или часть слова) и если оно содержится в этой строке то она выврдится.  
PM MAIL   Вверх
_hunter
Дата 27.6.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



подстроку в строке ищет strstr
чем "более общий случай" отличается от менее общего -- не поняытно... 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
pharrell
Дата 27.6.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Можешь написать пример. 
PM MAIL   Вверх
_hunter
Дата 27.6.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



могу 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Rockie
Дата 27.6.2006, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 8
Всего: 31



Цитата(pharrell @  27.6.2006,  18:36 Найти цитируемый пост)
Можешь написать пример. 

Код
#include <iostream>
#include <conio>

using namespace std;

int main(void)
{  char * str = "Borland International";
   char substring[81];

   cout<<str<<"\nstring: ";
   cin>>substring;

   if(strstr(str,substring)!=NULL) cout<<"it is there";
   else cout<<"no such substring";

   getch();
   return 0;
}
 


--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
Mad
Дата 27.6.2006, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 7
Всего: 19



Цитата(pharrell @  27.6.2006,  12:49 Найти цитируемый пост)
void find()
    {
        char sig[3];
        counter();
        j=0;
        sig[0]='n';
        sig[1]='o';
        sig[2]='\0';
        struct recept tmp;                                     
        printf ("\n Enter recept name:  "); 
        scanf ("%s", &tmp.name);                          
        
        for (i=0; i<=n; i++)
        {
            if (strcmp(tmp.name, sig)!=0)                         
            {
            if (strcmp(tmp.name,book[i].name)==0)            
                {
                    book[j]=book[i];                               
                }
                else
                {
                    goto end;                                         
                }
            }
            
        j++;
end:;
        }
    n=j;
    printf ("Searching result: \n\n");
    if (j==0)
    {
        printf("No recepts\n\n");
    }
    else
    {
        i=j;
        output();
    }
    getch();
    } 

Код

        {
            if (strstr(tmp.name, sig))                    
            {

 


--------------------
user posted image
PM MAIL   Вверх
pharrell
Дата 27.6.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Спасибо большое. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0691 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.