C/Visual C - recursividad

 
Vista:
sin imagen de perfil

recursividad

Publicado por Celeste (3 intervenciones) el 07/12/2016 02:54:33
Necesito ayuda con una funcion, pasar el trimestre depende de esto:

Como escribir una función "recursiva"que reciba un parametro de arreglos de numeros enteros con el tamaño de argumento y que se retorne el valor mas grande del arreglo. la funcion se debe detener cuando reciba un arreglo de solo un elemento.



:-( :-( si lo se esta confuso pero no se como hacerlo. Ayuda por favor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

recursividad

Publicado por agustin (272 intervenciones) el 07/12/2016 10:22:56
Algunas funciones:
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
#include <stdio.h>
#include <stdlib.h>
 
#define SIZEARRAY 6
//---------------------------------------------------------------------------
 
int obtenerMayor(int *array, int pos, int mayor)
{
    if(pos < SIZEARRAY){
        if(mayor < array[pos])
            mayor=array[pos];
        mayor=obtenerMayor(array,++pos,mayor);
    }
    return mayor;
}
//---------------------------------------------------------------------------
 
int obtenerMenor(int *array, int pos, int menor)
{
    if(pos < SIZEARRAY){
        if(menor > array[pos])
            menor=array[pos];
        menor=obtenerMenor(array,++pos,menor);
    }
    return menor;
}
//---------------------------------------------------------------------------
 
int buscarValor(int *array, int pos, int valor, int encontrado)
{
    if(pos < SIZEARRAY){
        if(valor == array[pos]){
            printf("Valor encontrado en la posicion %d\n",pos);
            encontrado++;
        }
        encontrado=buscarValor(array,++pos,valor,encontrado);
    }
    return encontrado;
}
//---------------------------------------------------------------------------
 
int main(int argc, char* argv[])
{
    int array[SIZEARRAY]={1,7,-2,5,9,-2};
    int mayor,menor,valor,encontrado;
 
    mayor=obtenerMayor(array,0,array[0]);
    printf("El valor mayor es: %i\n",mayor);
    menor=obtenerMenor(array,0,array[0]);
    printf("El valor menor es: %i\n",menor);
 
    printf("Introduce un valor a buscar en el array: ");
    scanf("%d",&valor);
    encontrado=buscarValor(array,0,valor,0);
    if(encontrado == 0)
        printf("No se ha encontrado ese valor\n");
    else
        printf("Se ha encontrado %d veces\n", encontrado);
    system("PAUSE");
    return 0;
}
//---------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

recursividad

Publicado por Celeste (3 intervenciones) el 07/12/2016 14:29:40
Amigo te debo la.vida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar