Форум программистов, компьютерный форум 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... подробнее

Показать сообщение отдельно
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
15.03.2011, 18:33     Не могу разобраться с отработкой рекурсивной функции
Ну я бы наверное так написал, чтобы уйти от этих глобальных констант, да и короче выходит:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int fc(int* ar1, int* ar2, int size1, int size2,int pos1,int pos2,int all) {
 
    int res=0;
    if(size2>size1)return 0;
    if(ar1[pos1-1]==ar2[pos2-1])
        if(pos2==1)
            return 1;
        else
            res+=fc(ar1,ar2,size1,size2,pos1-1,pos2-1,0);
    if(all)res+=fc(ar1,ar2,size1-1,size2,size1-1,size2,1);
    return res;
}
 
....
cout << endl << fc(ar1, ar2, size1, size2,size1,size2,1) << endl;
Конечно, переменных больше, но это уже что кому больше нравится.
 
Текущее время: 19:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru