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

Не могу разобраться с отработкой рекурсивной функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ факториал http://www.cyberforum.ru/cpp-beginners/thread257662.html
#include <iostream> using namespace std; size_t fact(size_t n) { if(n==0) return 1; return n*fact(n-1); } int main()
C++ Определение самого часто встречающегося латинского символа в тексте Помогите пожалуйста срочно! Дан произвольный текст количество строк в котором не более 10 а количество символов в каждой строке не более 80 определить какая латинская буква чаще всего встречается в тексте. http://www.cyberforum.ru/cpp-beginners/thread257648.html
C++ В чем отличие указателей и массивов на примере strlen()?
Здравствуйте уважаемые форумчаче. Появился вот такой вопрос. Почему функция strlen работает в таком случае: const int num=100; char arr; //массив cout << "Enter string \n"; cin.getline(arr, num); int k;
C++ знак вопроса
что означает знак вопроса вот здесь: double gcd (int x, int y ) { return (( y == 0) ? x : gcd (y, x % y )); } программа про НОК
C++ Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа http://www.cyberforum.ru/cpp-beginners/thread257621.html
Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа. Информация о каждом объекте однотипная, хранится в записи. Список необходимо реализовать при помощи одномерного массива записей (array of Тип_записи). Перемещение по пунктам меню осуществляется с помощью буквенных клавиш (для каждой строки клавиша своя).Вертикальное меню ...
C++ Вычесления. Преременные double Вот я столкнулся с проблемой вычисления. Проблема в том что я обьявил переменные с двойной точностью (double) И врорде всё правильно а программа не считает. Вроде бы она на компьютере он посильнее обычного калькулятора . А почему он не считает.В ответе нули всегда#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <math.h> #include <time.h> #include... подробнее

Показать сообщение отдельно
Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136

Не могу разобраться с отработкой рекурсивной функции - C++

15.03.2011, 12:35. Просмотров 327. Ответов 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
#include <iostream>
using namespace std;
int size, num = 0;
 
int fc(int* ar1, int* ar2, int size1, int size2) {
    for (int j = size2 - 1; j >= 0; j--) {
        for (int i = size1 - 1; i >= 0; i--) {
            if (ar1[i] == ar2[j]) {
                if (j == 0) {
                    num++;
                    fc(ar1, ar2, i, size);
                }
                fc(ar1, ar2, i, j);
            }
            fc(ar1, ar2, i, size);
        }
    }
return num;
}
 
int main() {
    const int size1 = 10;
    const int size2 = 2;
    size = size2;
    int ar1[size1] = {4, 3, 3, 4, 3, 3, 4, 3, 3, 4}, ar2[size2] = {3, 4};
    cout<<fc(ar1, ar2, size1, size2)<<endl;
}
Надеюсь не слишком большая белиберда и никто здесь мозг не сломает
А проблема в том что вроде все и найс, но есть одно "но", после отработки циклов и срабатывания return следующей итерацией идет, по не известной мне причине, вызов 13й строки, может кто подскажет что не так?
Заранее спасибо.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru