Respuestas

2013-11-12T00:49:59+01:00
Hola Crissback, acá te dejo un código para que lo estudies funciona perfectamente en DEV C++ 4.9.9.2


//Programa que por medio de funciones une dos array de enteros
//y luego los ordena x Luis Pedro Méndez.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//Función para unir las dos matrices y asignarlas a otra destino
void unirmatrices(int *array1, int elementos1, int *array2, int elementos2, int *arraydestino)
{
//variable para el bucle for
int i;
//recorremos hasta el limites pasado en -elementos1-
for( i = 0; i < elementos1; i++)

//Asignamos al array destino, los elementos del primer array
arraydestino[i] = array1[i]; 

//Ahora pasamos al array destino los elementos del segundo array.
for( i = 0; i < elementos2; i++) 

//al valor i le lsumamos la cantidad de elementos del primer array
//para no sobreescribir ninguno.
arraydestino[i + elementos1] = array2[i]; 

}
//Método de ordenamiento muy popular
void ordenar_tabla_de_menor_a_mayor(int *array, int elementos)
{
int i, j, aux;
/* recorremos todos los elementos,
desde el primero hasta el anteúltimo
(ya que el último quedará siempre en
la última posición) */
for (i=0; i<elementos-1; i++) {
/* comenzamos a buscar desde el próximo elemento
del actual (i+1), y vamos hasta el final */
for (j=i+1; j<elementos; j++) {
/* comparamos, si el primero es mayor,
debe ir al final, por lo que intercambiaremos
los valores (esto se conoce como "swap") */
if (array[i] > array[j]) {
aux = array[i]; /* guardamos el valor [i] en un temporal*/
array[i] = array[j]; /* le asignamos [j] a [i] */
array[j] = aux; /* le asignamos el temporal guardado a [j] */
}
}
}
}
//Procedimiento maestro
int main(void)
{
/* cantidad de elementos a ordenar y del array destino*/
#define ELEMENTOS 9

/* tablas a ordenar y la tabla destino*/
int array1[5] = {1,3,6,9,17};
int array2[4] = {2,4,10,17}; 
int array [9];
int i;

//unimos las dos matrices
unirmatrices(array1, 5, array2, 4, array);
/* ordenamos la matriz destino */
ordenar_tabla_de_menor_a_mayor(array, ELEMENTOS);

/* imprimir la tabla ordenada */
printf("Las dos matrices unidas y ordenadas:\n");
printf("________________________________… 
for (i=0; i<ELEMENTOS; i++)
printf("%d \n", array[i]);
printf("\n");
system("pause");
return 0;
}