ALGUIEN Q ME LO EXPLIQUE PORFAS YA ESTA RESUELTO C++
#include
#include
main(){
int pos,num,lista[5],i;
for(i=0;i<5;i++){
printf("ingresar un numero: ");
scanf("%d",&lista[i]);
}
printf("posicion donde se va a ingresar los numeros: ");
scanf("%d",&pos);
printf("ingrese numeros: ");
scanf("%d",&num);
for(int i=4;i>=pos;i--){
lista[i+1]=lista[i];
}
lista[pos]=num;
for(int i=0;i<=5;i++){
printf("\nla posicion a remplazar fue: %d",lista[i]);
}
}
Respuestas a la pregunta
Respuesta:
Te dejo captura de los resultados a la hora de ejecutar el codigo una captura realizando el cambio segun posicion y otra cuando la posicion ingresada no es valida
int main()
{
//Definicion de variables todas de tipo Entero
int pos,num,lista[5],i;
//Imprimiendo mensaje al usuario
printf("Por favor ingrese 6 numeros\n");
//Ciclo for que se repite 6 veces de 0 a 5 hay 6, imprime que se ingrese un numero y lo guarda en la posision i del vector lista
for(i=0;i<=5;i++){
//Imprimiendo mensaje
printf("%d - ingresar un numero: ",(i+1));
//leyendo entrada del usuario
scanf("%d",&lista[i]);
}
//Imprimiendo mensaje
printf("Ingrese que posicion de los 5 numeros desea remplazar: ");
//leyendo entrada del usuario
scanf("%d",&pos);
//Imprimiendo mensaje
printf("ingrese el nuevo numero: ");
//leyendo entrada del usuario
scanf("%d",&num);
//Validamos que el numero ingresado para la posicion a reemplazar sea valido es decir que no sea menor que 0 ni mayor que 5 porque el vector lista es de 5 posiciones
if(pos>=0 && pos <=5){
//si es valido pues se guarda el valor de la posicion a reemplazar en una variable temporal
int temp = lista[pos];
//hacemos el cambio con el nuevo numero
lista[pos]=num;
//al nuevo numero lo cambiamos por temp asi podemos saber que valor tenia antes la posicion y lo podemos mostrar mas adelante
num =temp;
} else {
//si no cumple alertamos al usuario que no se hicieron cambios
printf("\nLa posicion ingresada es invalida no se hicieron cambios:");
}
//Imprimiendo mensaje
printf("\nLos numeros ingresaron fueron:");
for(int i=0;i<=5;i++){
//si i es igual a la posicion que se hizo el cambio se imprime que antes era otro valor para eso hicimos el cambio de num=temp para usarlo aqui
if(i==pos)
printf("\n%d --> %d (antes era %d)",(i+1),lista[i],num);
else
printf("\n%d --> %d",(i+1),lista[i]);
}
return 0;
}