14.05.2013, 21:33 | #1 (permalink) |
Member
Регистрация: 10.12.2012
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Рекурсия
1.Для заданного одномерного массива A из N элементов проверить, что существует, по крайней мере, один элемент Ai, для которого выполняется условие sin Ai > 0. Рекурсивную функцию применять отдельно для каждой из половин массива. Рекурсивные вызовы заканчивать, когда останется только один элемент. Например, для N=8: |
14.05.2013, 21:33 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Подскажу вам, что на нашем форуме так же можно найти уже готовые темы, которые схожи с вашей Рекурсия Рекурсия, язык с++ Рекурсия, Delphi Подпрограммы и рекурсия в Pascal ABC Целое натуральное, рекурсия, Паскаль Рекурсия |
14.05.2013, 23:51 | #2 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Если я правильно понял задание, то как-то так
Код:
#include <iostream> #include <cmath> using namespace std; bool recurse(float *A, int N, int index){ if(sin(A[N-1]>0)){ return true; } if((N-1) != index){ bool f; f = recurse(A, N-1, index); } else{ return false; } } int main(){ int N = 3; float *A = new float(N); bool flag = false; A[0]=1; A[1]= 0; A[2] = 0; flag = recurse(A, N, N/2); if (!flag){ flag = recurse(A, N/2, 0); } if (flag){ cout << endl << "true" << endl; } else{ cout << endl << "false" << endl; } delete[] A; return 0; } |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|