Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: palacio29 en 22 Julio 2016, 01:15 am



Título: (Consulta) Ejercicios de Multiple Choice en C - Faciles
Publicado por: palacio29 en 22 Julio 2016, 01:15 am
Hola


Tengo este ejercicio, es un multiple choice y no lo entiendo porque cuando yo empiezo el for llega un momento en que  en la primera vuelta queda frase[0]=frase[12]...esto es lo que no entiendo, como el codigo puede continuar si el frase[12] va mas alla del \0 que supuestamente es el fin del arreglo. La respuesta correcta es "join the navy" pero no se porque.



 int main()
{  char frase[50]= {'y','v','a','n',' ','e','h','t',' ','n','i','o','j','\0'};
    char aux;
    int i,j,k;

    for(k=0;k<=6;k++)
    {  aux=frase[k];
       frase[k]=frase[12 - k];
       frase[12 - k]=aux;
    }
    printf("%s\n",frase);


El printf imprime:
a-yvan eht nioj
b-jhon envy tia
c-join the navy
d-No compila
e-Da error de ejecución
f-Ninguna de la anteriores


Por otro lado, este es mas sencillo

 Completar el siguiente fragmento de programa para validar el ingreso por teclado de un número entero en la variable num y aceptar solamente números pares o múltiplos de 5.

do
{
    printf(“Ingrese un carácter: “);
    ____________________;

} while (_____________________);


Me pide que complete en solo una linea. Podria hacerlo si pongo un if  y el scanf en la misma linea muy chiquitito, pero hay alguna otra forma de hacerlo, porque no pareceria correcta la forma.


Muchas gracias de antemano


Título: Re: (Consulta) Ejercicios de Multiple Choice en C - Faciles
Publicado por: AlbertoBSD en 22 Julio 2016, 01:36 am
ala posicion 12 del arreglo es la j, en c los arreglos empiezan desde el 0.

La posición 0 del arreglo es el primer elemento, la posición 1 es el segundo y asi sucesivamente.

Código
  1.       aux=frase[k];
  2.       frase[k]=frase[12 - k];
  3.       frase[12 - k]=aux;

El codigo primero copia el valor de la posición 12 a una variable auxiliar y realiza un cambio de variable.

Saludos


Título: Re: (Consulta) Ejercicios de Multiple Choice en C - Faciles
Publicado por: palacio29 en 22 Julio 2016, 01:47 am
ala posicion 12 del arreglo es la j, en c los arreglos empiezan desde el 0.

La posición 0 del arreglo es el primer elemento, la posición 1 es el segundo y asi sucesivamente.

Código
  1.       aux=frase[k];
  2.       frase[k]=frase[12 - k];
  3.       frase[12 - k]=aux;

El codigo primero copia el valor de la posición 12 a una variable auxiliar y realiza un cambio de variable.

Saludos


Hola, mala mia, no lei el espacio y conte mal :xD. Gracias!