#include <stdio.h>
Funciones para Manipular Arrays en C
Este código en C proporciona un menú interactivo para realizar diversas operaciones sobre un array de enteros. Permite insertar, visualizar, ordenar, eliminar y buscar elementos dentro del array. A continuación, se detalla cada una de las funciones implementadas.
Menú Principal
void main (void)
{
int array[10], ne = 0, i, j, res, cont = 0, aux, pos, num;
char opc;
do
{
printf("**********MENU***********");
printf("\n1. Insertar elementos\n2. Visualizar Array\n3. Ordenación del Array\n4. Insertar al final del Array\n5. Insertar en la posición elegida\n6. Insertar un cero detrás de un número\n7. Eliminar un número de un array\n8. Eliminar un número por posición\n9. Eliminar un número una vez\n10. Búsqueda de un elemento\n11. Salir\n");
scanf("%d", &res);
switch (res)
{
case 1: // Insertar
do
{
printf("Introduce un numero");
scanf("%d", &array[ne]);
ne++;
printf("Quieres introducir mas numeros? <s/n>");
fflush(stdin);
opc = (char)getchar();
} while (ne < 10 && opc == 's');
break;
case 2: // Visualizar
for (i = 0; i < ne; i++)
{
printf("%d\t", array[i]);
}
printf("\n");
break;
case 3: // Ordenar
for (i = 0; i <= ne - 2; i++)
{
for (j = ne - 2; j >= i; j--)
{
if (array[j] > array[j + 1])
{
aux = array[j];
array[j] = array[j + 1];
array[j + 1] = aux;
}
}
}
printf("\n");
break;
case 4: // Insertar al final del array
if (ne == 10)
{
printf("El array esta lleno");
} else
{
printf("Que numero quieres insertar en el array");
scanf("%d", &array[ne]);
ne++;
}
printf("\n");
break;
case 5: // Insertar por posicion
if (ne == 10)
{
printf("El array esta lleno");
} else
{
printf("Que posicion quieres insertar el nuevo numero?");
scanf("%d", &pos);
for (i = ne - 1; i >= pos - 1; i--)
{
array[i + 1] = array[i];
}
printf("Indique el numero a insertar");
scanf("%d", &array[pos - 1]);
ne++;
}
break;
case 6: // Insertar un cero detras de un numero
if (ne == 10)
{
printf("El array esta lleno");
} else
{
printf("Detras de que numero quiero meter el cero?");
scanf("%d", &num);
for (i = 0; i < ne; i++)
{
if (array[i] == num)
{
for (j = ne - 1; j >= i; j--)
{
array[j + 1] = array[j];
}
array[i + 1] = 0;
ne++;
}
}
}
break;
case 7: // Eliminar un numero todas las veces
if (ne == 0)
{
printf("El array esta vacio");
} else
{
printf("Que numero quieres eliminar todas las veces que aparezca?");
scanf("%d", &num);
for (i = ne - 1; i >= 0; i--)
{
if (array[i] == num)
{
for (j = i; j <= ne - 2; j++)
{
array[j] = array[j + 1];
}
ne--;
}
}
}
break;
case 8: // Eliminar un numero por posicion
if (ne == 0)
{
printf("El array esta vacio");
} else
{
printf("Que posicion quieres eliminar?");
scanf("%d", &pos);
for (i = pos - 1; i <= ne - 2; i++)
{
array[i] = array[i + 1];
}
ne--;
}
break;
case 9: // Eliminar un numero una sola vez
if (ne == 0)
{
printf("El array esta vacio");
} else
{
printf("Que numero quieres eliminar?");
scanf("%d", &num);
for (i = 0; i < ne && array[i] != num; i++);
if (i < ne)
{
for (j = i; j <= ne - 2; j++)
{
array[j] = array[j + 1];
}
ne--;
} else
{
printf("No existe");
}
}
break;
case 10: // Busqueda de un elemento
printf("Que numero quieres buscar?");
scanf("%d", &num);
for (i = 0; i < ne; i++)
{
if (array[i] == num)
{
printf("El numero %d esta en la posicion %d\n", num, i + 1);
cont++;
}
}
printf("El numero aparece %d veces", cont);
if (cont == 0)
{
printf("Ese numero no existe en el array");
}
cont = 0;
break;
case 11:
printf("SALIENDOOOOOOO.........");
break;
default:
printf("Opcion incorrecta");
break;
}
} while (res != 11);
fflush(stdin);
getchar();
}
Descripción de las Opciones del Menú
- 1. Insertar elementos: Permite al usuario introducir números en el array hasta que se llene (máximo 10 elementos) o el usuario decida no introducir más.
- 2. Visualizar Array: Muestra todos los elementos almacenados actualmente en el array.
- 3. Ordenación del Array: Ordena los elementos del array de menor a mayor utilizando el método de la burbuja.
- 4. Insertar al final del Array: Añade un nuevo elemento al final del array, si hay espacio disponible.
- 5. Insertar en la posición eleguida: Inserta un nuevo elemento en una posición específica del array, desplazando los elementos existentes si es necesario.
- 6. Insertar un cero detrás de un número: Inserta un ‘0’ después de cada ocurrencia de un número específico en el array.
- 7. Eliminar un número de un array: Elimina todas las ocurrencias de un número específico del array.
- 8. Eliminar un número por posición: Elimina el elemento que se encuentra en una posición específica del array.
- 9. Eliminar un número una vez: Elimina la primera ocurrencia de un número específico del array.
- 10. Búsqueda de un elemento: Busca un número específico en el array e indica su posición y cuántas veces aparece.
- 11. Salir: Finaliza la ejecución del programa.