Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 14.05.2013, 21:33   #1 (permalink)
bulding
Member
 
Регистрация: 10.12.2012
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Рекурсия

Здравствуйте, помогите написать программу на языке С++

1.Для заданного одномерного массива A из N элементов проверить, что существует, по крайней мере, один элемент Ai, для которого выполняется условие sin Ai > 0. Рекурсивную функцию применять отдельно для каждой из половин массива. Рекурсивные вызовы заканчивать, когда останется только один элемент.

Например, для N=8:
Миниатюры
rec.jpg  
bulding вне форума   Ответить с цитированием

Старый 14.05.2013, 21:33
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Подскажу вам, что на нашем форуме так же можно найти уже готовые темы, которые схожи с вашей

Рекурсия
Рекурсия, язык с++
Рекурсия, Delphi
Подпрограммы и рекурсия в Pascal ABC
Целое натуральное, рекурсия, Паскаль
Рекурсия

Старый 14.05.2013, 23:51   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 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;
}
правда код не очень нравится... громоздкий какой-то
kreol вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.