(1) Entrada personalizada
Utilice el lenguaje C para definir una matriz de números enteros y escribir un programa. La función principal llama a las siguientes funciones personalizadas para completar.
(1) Entrada personalizada
El código es el siguiente: #include?lt; stdio.hgt;
#include?lt;
#define?N? 10
p>void?input(int?data[],?int?n)
{
int?i;
printf("Por favor, introduzca d enteros: ",?n);
for?(i?=?0;?i?lt;?n;?i )?{
scanf(" d",?amp; datos[i]);
}
}
void?sort(int?datos[],? int?n)
{
int?i,?j,?temp;
for?(i?=?0;?i?lt; ?n?- ?1;?i )?{
para?(j?=?0;?j?lt;?n?-?i?-?1;?j )?{
si?(datos[j]?lt;?datos[j? ?1])?{
temp?=?datos[j];
datos[j] ?=?datos[j? ?1];
datos[j?1]?=?temp;
}
}
}
}
void?print(int?data[], ?int?n)
{
int ?i;
for?(i?=?0;?i?lt;?n;?i )?{
printf("d?", ?datos[i ]);
}
printf("\n");
}
int?find(int); ?datos[] ,?int?n,?int?val)
{
int?i;
para?(i?=?0; ?i?lt ;?n;?i )?{
si?(datos[i]?==?val)?{
retorno?i;
}
}
retorno?-1
}
//?Búsqueda binaria
int?binary_find (int?data[],?int?n,?int?val){
int?bajo,?alto,?medio;
bajo?=? 0;
p>
¿alto?=?n?-?1;
mientras?(bajo?lt;=?alto)?{
¿medio?=?(¿bajo? ? alto)?/?2;
si?(datos[medio]?==?val)
retorno?medio;
si?(datos[ mid]?gt;?val)?{
bajo?=?mid ?1;
}
si?(datos[mid]?lt ;?val)?{
alto?=?mid?-?1;
}
} p>
retorno?-1 ;
}
int?main()
{
int?data[N ],?Virginia
l,?i;
input(datos,?N);
sort(datos,?N);
print(datos,?N);
printf("Ingrese el número que desea buscar: ");
scanf("d",?amp; val;
// ?Búsqueda binaria
i?=?binary_find(data,?N,?val);
if?(i?!=?0)?{
printf("El número ?d? está en la ?d?ésima posición en el grupo de datos.\n",?val,?i? ?1);
}
else?{
printf("El número?d?no existe en el grupo de datos.\n",?val);
}
system("pause") ;
return?0;
}
Ejecutar resultados: