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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GeForce46
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 18
#1

поиск через рекурсию - C++

07.11.2013, 00:10. Просмотров 285. Ответов 3
Метки нет (Все метки)

С помощью массива структур описать каталог компьютерных игр, предусмотрев следующие характеристики: название, производитель, год издания, жанр, объем на диске, платформа. Предусмотреть операцию поиска по жанру, платформе.


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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <locale>
using namespace std;
 
int main()
{ setlocale(LC_ALL,"Russian");
int i,j,n=5,q=0,s;
char poisk1[20];
char poisk2[20];
char key;
struct a
{
    char name[20],vyrobnyc[20], zhanr[20], platform[20];
    int year, ves;
    };
struct a b[5];
for(i=0;i<n;i++)
    {
    cout<<"Назва гри:";
    cin>>b[i].name;
    cout<<"Виробник:";
    cin>>b[i].vyrobnyc;
    cout<<"Жанр:";
    cin>>b[i].zhanr;
    cout<<"Платформа:";
    cin>>b[i].platform;
    cout<<"Об`єм:";
    cin>>b[i].ves;
    cout<<"Рік видання:";
    cin>>b[i].year;
    cout<<"\n ------------------------------------------\n";
    cout<<"Продовжити? (y/n):";
    cin>>key;
    if (key=='n')break;
    q++;
    }
cout<<"\n ------------------------------------------\n";
cout<<"Пошук за жанром:";
cin>>poisk1;
for(i=0;i<q;i++)
{
    if(b[i].zhanr==poisk1)
    {
    cout<<"Назва: "<<b[i].name<<"\n";
    cout<<"Виробник:"<<b[i].vyrobnyc<<"\n";
    cout<<"Жанр:"<<b[i].zhanr<<"\n";
    cout<<"Платформа:"<<b[i].platform<<"\n";
    }
    getch();
}
cout<<"\n ------------------------------------------\n";
cout<<"Пошук за платформою:";
cin>>poisk2;
for(i=0;i<q;i++)
{
    if(b[i].platform==poisk2)
    {
    cout<<"Назва: "<<b[i].name<<"\n";
    cout<<"Виробник:"<<b[i].vyrobnyc<<"\n";
    cout<<"Жанр:"<<b[i].zhanr<<"\n";
    cout<<"Платформа:"<<b[i].platform<<"\n";
    }
    getch();
}
return 0;
}

Не подскажете как сделать поиск используя рекурсию????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2013, 00:10     поиск через рекурсию
Посмотрите здесь:

C++ Описание функции через рекурсию
Число из 10-ой в 2-ю ,через рекурсию. C++
НОД через рекурсию C++
Факториал через рекурсию C++
C++ Число Фибоначчи через рекурсию
C++ Поиск кратчайшего пути в матрице через рекурсию
последовательность через рекурсию C++
Бинарный поиск через рекурсию: разобрать логику кода C++
C++ Найти тангенс x через рекурсию
Проверка строки на симметричность через рекурсию C++
C++ Не высчитывает корень через рекурсию
C++ Имитация цикла for через рекурсию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6514 / 4980 / 460
Регистрация: 14.02.2011
Сообщений: 16,493
07.11.2013, 00:13     поиск через рекурсию #2
Цитата Сообщение от GeForce46 Посмотреть сообщение
Не подскажете как сделать поиск используя рекурсию????
а каким боком здесь рекурсия?
или чтоб было?
GeForce46
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 18
07.11.2013, 00:21  [ТС]     поиск через рекурсию #3
Цитата Сообщение от ValeryS Посмотреть сообщение
а каким боком здесь рекурсия?
или чтоб было?
мне по заданию нужно использовать массив структур и рекурсивную функцию
ValeryS
Модератор
6514 / 4980 / 460
Регистрация: 14.02.2011
Сообщений: 16,493
07.11.2013, 00:39     поиск через рекурсию #4
GeForce46,
ты вообше представляешь что такое рекурсивная функция
не это не функция которая "вызывает сама себя"
хотя формально это верно
это целая идеология
возьмем факториал, пример который обычно сразу всем приводят
два постулата
факториал есть произведение всех чисел от 1 до n
факториал 1 и 0 есть 1
тут рекурсия сама собой напрашивается
факториал есть произведение n на факториал n-1
вот она функция
C++
1
2
3
4
5
6
int fact( int n)
 {
if n<=1)
   return 1;
 fact(n-1);
}
теперь возьмем твою функцию искать в n значений?
можно с трудом привести(притянуто за уши) если n чему то там не равна то искать n-1
а второй постулат, сиречь выход?????
короче я лично вижу цикл но никак не рекурсию
если ты сможешь словами описать рекурсию значит сможешь и запрограммировать
лично я смогу, но не хочу, потому что это есть глупость не сусветная
принцип бритвы Оккамы
"Не плодите сущности без необходимостиЭ
Yandex
Объявления
07.11.2013, 00:39     поиск через рекурсию
Ответ Создать тему
Опции темы

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