Curso-lenguaje-C/curso-juantxi/Ejercicios/0601ArrayBusqueda.c

98 lines
2.0 KiB
C

#include<stdio.h>
#include<stdlib.h> // Se suele emplear para memoria dinámica
/*
Ejercicio 1:
Sobre un array de números enteros de dimensión 10 se pide:
- cargar el array
- mostrarlo
- buscar y comprobar si un número pedido al usuario se encuentra o no en el array
(opcional: indicar su posición)
- pedir un número al usuario y si está en el array eliminarlo
(en caso de que se repita, solamente eliminará la última ocurrencia)
*/
#define TAM 10
int main(){
int vector[TAM];
int i;
int busca;
int posicion=0;
int aviso=0;
int temp;
printf("\nVamos a cargar un array de %d posiciones: \n", TAM);
for (i=0; i<TAM; i++){
printf("\nIntroduce valor para el array: ");
scanf("%d", &vector[i]);
}
printf("\nLos valores del array son:\n");
for(i=0; i<TAM; i++){
printf("%d ", vector[i]);
}
printf("\n");
printf("\nDame un número para buscar: ");
scanf("%d", &busca);
for (i=0; i<TAM; i++){
posicion=posicion+1;
// Como pongo el contador antes de la recogida del numero con temp,
// la posicion empieza en 1 y no en 0.
if(busca==vector[i]) {
// El número se encuentra en el array
aviso=1;
temp=posicion;
}
}
if(aviso==0){
printf("\nEl número %d no está en el array.", busca);
}else{
printf("\nEl número %d está en el array en la posición %d.", busca, temp);
}
printf("\n");
posicion=-1;
for(i=0;i<TAM; i++){
if(vector[i]==busca){
posicion=i;
}
}
if(posicion==-1){
printf("\nEl elemento que quieres no está");
}else{
for(i=posicion;i<TAM;i++){
vector[i]=vector[i+1];
}
printf("\nElemento eliminado");
vector[9]=0;
printf("\nLos valores actuales del array son:\n");
for(i=0; i<TAM; i++){
printf("%d ", vector[i]);
}
}
printf("\n");
}