Enlace al código fuente: Ideone.com
O
El código fuente en sí en C:
- ¿Qué preparación puedo hacer para convertirme en un contador público?
- Me gusta la fotografía, el cine, la música y la física. ¿Qué debo hacer?
- ¿Por qué es tan difícil conseguir un trabajo en Singapur, especialmente si uno no es un RP o ciudadano?
- ¿A qué edad es demasiado tarde para cambiar de carrera?
- ¿Por qué los analistas de negocios y los gerentes de proyectos obtienen salarios más altos que los programadores?
#include
/ * No uso de estas bibliotecas en este programa particular * /
#include
#include // para cálculos matemáticos avanzados
int arr [4], temp [4], cuenta = 0; // matriz en la que se almacenará la fuerza
/ * fusionar la función de clasificación con recursión * /
fusión nula (int bajo, int medio, int alto)
{
int h = bajo, i = bajo, j = medio + 1, k;
while ((h <= mid) && (j <= high))
{
/ * valores de adaptación matriz ‘arr’ en matriz ‘temp’ en un orden * /
if (arr [h] <= arr [j])
{
temp [i] = arr [h];
h ++;
recuento ++;
}
más
{
temp [i] = arr [j];
j ++;
}
i ++; // Incrementando la posición en la matriz
}
/ * Copiar los elementos restantes de ‘arr’ en la matriz ‘temp’ * /
si (h> mediados)
{
para (k = j; k <= medio; k ++)
{
temp [i] = arr [k];
i ++;
}
}
más
{
para (k = h; k <= medio; k ++)
{
recuento ++;
temp [i] = arr [k];
i ++;
}
}
para (k = bajo; k <= alto; k ++)
{
arr [k] = temp [k];
}
}
void merge_sort (int bajo, int alto)
{
int mid;
si (bajo <alto)
{
medio = (bajo + alto) / 2;
merge_sort (bajo, medio);
merge_sort (mid + 1, high);
fusionar (bajo, medio, alto);
}
}
int main (int argc, char const * argv [])
{
int n, i;
printf (“Ingrese la fuerza de 4 personas: \ n”);
para (i = 0; i <4; ++ i)
{
scanf (“% d”, & arr [i]);
}
merge_sort (0,3);
printf (“El número total de coincidencias es:% d \ n”, cuenta);
devuelve 0;
}