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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


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

Desconectado Desconectado

Mensajes: 103


Ver Perfil
(Consulta)Error al unir 2 arreglos
« en: 29 Noviembre 2016, 15:56 pm »

Hola.

Tengo un ejercicio en el cual tengo 2 arreglos y tengo que crear un tercer arreglo que contenga los dos arreglos anteriores de manera ordenada.
No puedo usar arreglos auxiliares, tampoco puedo usar burbujeo.
Lo hago y el codigo tiene logica, pero no logro que funcione correctamente.

Ejemplo:

Arreglo 1: 1,2,3,6
Arreglo 2. 4,5,8,9.
Resultado: 1,2,3,4,5,6,8,9.
Resultado Que Me Da a mi (Horrible) :  1,2,3,6


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void CARGA(int arreglo[10]);
  4. void imprimir(int arreglo[20]);
  5. void unir(int arreglo1[10],int arreglo2[10],int resultante[20]);
  6. int main()
  7. {
  8.    int arreglo1[10]={0};
  9.    int arreglo2[10]={0};
  10.    int resultante[20]={0};
  11.    printf("Ingrese arreglo 1: \n ");
  12.    CARGA(arreglo1);
  13.    printf("\nIngrese arreglo 2:  \n ");
  14.    CARGA(arreglo2);
  15.  
  16.    printf("\n");
  17.    printf("\nEl arreglo resultante es: \n");
  18.    unir(arreglo1,arreglo2,resultante);
  19.    imprimir(resultante);
  20.    return 0;
  21. }
  22. void CARGA(int arreglo[10])
  23. {
  24.    int i=0;
  25.    int numero;
  26.  
  27.    scanf("%d",&numero);
  28.    while(numero!=0)
  29.    {
  30.        arreglo[i]=numero;
  31.        i++;
  32.        scanf("%d",&numero);
  33.    }
  34.    arreglo[i]=0;
  35.  
  36. }
  37. void imprimir(int arreglo[20])
  38. {
  39.    int i=0;
  40.  
  41.    for(i=0;i<10;i++)
  42.    {
  43.        if(arreglo[i]!=0)
  44.        {
  45.            printf(" %d - ",arreglo[i]);
  46.        }
  47.    }
  48.  
  49. }
  50.  
  51. void unir(int arreglo1[10],int arreglo2[10],int resultante[20])
  52. {
  53.    int i=0,j=0,k=0;
  54.  
  55.    while(arreglo1[i]!=0)
  56.    {
  57.        while(arreglo2[j]!=0)
  58.        {
  59.            if(arreglo1[i]<arreglo2[j])
  60.            {
  61.  
  62.                resultante[k]=arreglo1[i];
  63.            }
  64.            else
  65.            {
  66.  
  67.                resultante[k]=arreglo2[j];
  68.            }
  69.            j++;
  70.        }
  71.        j=0;
  72.        k++;
  73.        i++;
  74.    }
  75.  
  76. resultante[k]=0;
  77.  
  78.  
  79.  
  80. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ERROR ARREGLOS, FUNCIONES Y Makefile.win
Programación C/C++
alfo1294 1 2,282 Último mensaje 27 Julio 2012, 05:21 am
por avesudra
[C] (Consulta) Mezclando punteros y arreglos.
Programación C/C++
class_OpenGL 5 4,609 Último mensaje 16 Mayo 2016, 18:51 pm
por class_OpenGL
Error con arreglos
Programación C/C++
NicolasPileci 1 1,627 Último mensaje 23 Agosto 2017, 21:46 pm
por ivancea96
Unir consulta dentro de otra en SQL
Bases de Datos
NIGHTBIRD 1 2,016 Último mensaje 2 Marzo 2018, 16:17 pm
por EFEX
Error en una funcion con arreglos xc
Programación C/C++
axel19 1 1,671 Último mensaje 22 Abril 2018, 10:06 am
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines