elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  (Consulta) - Minimo de un arreglo dinamico
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Consulta) - Minimo de un arreglo dinamico  (Leído 1,920 veces)
palacio29

Desconectado Desconectado

Mensajes: 103


Ver Perfil
(Consulta) - Minimo de un arreglo dinamico
« en: 28 Mayo 2019, 01:28 am »

Hola.
Tengo el siguiente codigo para que me de el minimo de un arreglo dinamico.
Mi consulta es, si hay alguna forma mas simple de hacerlo, ya que para usar esto, tendria que mandarle desde el main 2 veces el arreglo para que compare...


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define N 5
  5. int * minArrHeap(int *, int *);
  6.  
  7. int main()
  8. {
  9.    int * arrHeap, i;
  10.    arrHeap=malloc(N*sizeof(int));
  11.    srand(time(NULL));
  12.    for(i=0; i<N-1; i++)
  13.    {
  14.        arrHeap[i]=rand()%9+1;
  15.    }
  16.    arrHeap[i]=0;
  17.    printf("Arreglo al azar: \n");
  18.    for(i=0; i<N; i++)
  19.    {
  20.        printf("%d ", arrHeap[i]);
  21.    }
  22.    printf("\n\nMinimo: %d direccion:%p \n\n", *minArrHeap(arrHeap, arrHeap),  dirMinArrHeap(arrHeap, arrHeap));
  23.  
  24.    return 0;
  25. }
  26.  
  27. int * minArrHeap(int * ptr, int *min)
  28. {
  29.    if(*ptr==0)
  30.    return min;
  31.    if(*ptr<*min)
  32.    minArrHeap(ptr+1, ptr);
  33.    else
  34.    minArrHeap(ptr+1, min);
  35. }


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: (Consulta) - Minimo de un arreglo dinamico
« Respuesta #1 en: 28 Mayo 2019, 06:42 am »

Para recorrer un arreglo, ya sea estático o dinámico, se hace normalmente pasando el puntero al primer elemento del arreglo y el tamaño de este.
Código
  1. int* buscarMinimo(int *arreglo, const int size){
  2.    int *p_minimo = arreglo; // equivalente a int *p_minimo = &arreglo[0]
  3.    for(size_t i = 1; i < size; ++i)
  4.        if(arreglo[i] < *p_minimo)
  5.            p_minimo = (arreglo+i); // equivalente a p_minimo = &arreglo[i]
  6.    return p_minimo;
  7. }
De esta forma al devolver un puntero al elemento mínimo ya tenemos tanto el valor del elemento <*p_minimo> como su dirección de memoria <p_minimo>.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Arreglo Dinamico con Objetos :S
Java
Xephiro 9 14,486 Último mensaje 6 Marzo 2009, 20:20 pm
por juancho77
Problema Con Un Arreglo Dinamico [?]
Programación C/C++
Omar_2013 4 2,884 Último mensaje 16 Octubre 2013, 23:35 pm
por Eternal Idol
Error Ejercicio de Arreglo Dinamico
Programación C/C++
palacio29 1 1,624 Último mensaje 21 Octubre 2016, 20:49 pm
por MAFUS
Arreglo dinamico string
Programación C/C++
leopaez 3 5,120 Último mensaje 10 Diciembre 2016, 21:43 pm
por engel lex
(Consulta) Problema con un arreglo dinamico
Programación C/C++
palacio29 1 2,071 Último mensaje 31 Mayo 2019, 02:20 am
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines