PUBLICIDAD


Borrar elementos en Arreglos (Arrays) - Programación en C


Introducción

En ocasiones necesitamos borrar información de un arreglo (Array), por ejemplo, si tenemos una base de datos con nombres de usuarios y queremos borrar algún nombre. En este artículo les explicaremos un ejercicio de cómo borrar datos o casillas de un arreglo en un programa en lenguaje C.

Marco teórico

Función “strcmp”: Función que sirve para comparar dos cadenas de caracteres, si las cadenas son iguales te devolverá un “0”. Si deseas saber más sobre esta función puedes visitar este artículo: Comparación de cadenas con función STRCMP.

Ejercicio

Realizar un programa en el que el usuario ingrese 6 nombres de 10 caracteres máximo, después se solicitará cual nombre desea borrar, y el programa debe de ser capaz de borrar el nombre ingresado.

Diagrama de flujo

Borrar elementos en Arreglos (Arrays) - 1


Publicidad


Programa

Código:

/* Borrar elementos en Arreglos - Por Solución Ingenieril*/
#include <stdio.h> /* Declaración librerías*/
#include <stdlib.h>
#include <string.h>

int main(){
	int contador,encontro,posicion,respuesta; //Variables de ciclos y banderas
	char nombre[6][10]; //Arreglo que guardara los nombres
	char nombre_borrar[10]; //Vector que guardara el nombre a borrar
	
	//Ciclo en el que solicitamos los nombres a ingresar
	for(contador=0;contador<6;contador++){
		printf("Ingresa un nombre: ");
		scanf("%s",&nombre[contador]);
	} 
	
	encontro = 0; //Inicializamos variable que indica si encontró el nombre
	posicion = 0; //Inicializamos variable que indica la posición del nombre encontrado
	//Preguntamos el nombre que quiere borrar y lo guardamos
	printf("\n Que nombre quieres borrar? "); 
	scanf("%s",&nombre_borrar);
	
	//Ciclo que buscara el nombre a borrar
	for(contador=0;contador<6;contador++){
		if(strcmp(nombre_borrar, nombre[contador])==0){ //Comparamos y si encontramos el nombre...
			encontro = 1; //Activamos bandera de que encontró el nombre
			posicion = contador; //Y guardamos la posición en donde lo encontró
			break; //Rompemos el ciclo
		}
	} 
	
	if(encontro==1){ //Si encontró el nombre a borrar...
		//Entramos a un ciclo que recorrerá los nombres desde la posición que lo encontró...
		//... borrando así el nombre que indicamos que queríamos borrar
		for(contador = posicion; contador < 6; contador++){ 
			strcpy(nombre[contador], nombre[contador + 1]);	
		}
		
		printf("\n -- MOSTRANDO NOMBRES -- \n");
		for(contador=0;contador<6;contador++){
			printf("%s \n",nombre[contador]);
		} 		
	}
	else //Si no encontró el nombre a borrar...
		printf("\n No se encontro ese nombre \n");
	
	return 0;		
}

Resultados

Borrando elementos del Array

Borrar elementos en Arreglos (Arrays) - 2

Borrar elementos en Arreglos (Arrays) - 3

Borrar elementos en Arreglos (Arrays) - 4

No encontró el nombre a eliminar

Borrar elementos en Arreglos (Arrays) - 5

Conclusión

En este artículo les mostramos un ejercicio en el cual debíamos borrar nombres de una “base de datos” según el usuario indicaba. Además les proporcionamos el diagrama de flujo, para así puedan observar cómo se representaría de manera gráfica.






Agregar comentario
1500
¿Cuantas letras hay en la palabra ¨Dos¨?
Comentarios
(0)
No hay comentarios todavía ¡Sé el primero en comentar!

©2017-2021 Solución Ingenieril. Todos los derechos reservados