Informática, pregunta formulada por elianpatriciosoria, hace 1 mes

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]);

}

}

Adjuntos:

Tenhou: y que se supone hace se codigo?
Tenhou: pide numeros y reemplaza una posicion.? ejemplo imgreso 4 y digo posicion 2 deberia sustituirse por el numero que ingreso?
Tenhou: tiene errores de logica tu codigo dejame corregir y explico como entendi

Respuestas a la pregunta

Contestado por Tenhou
0

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;

}

Adjuntos:
Otras preguntas