[Curso] Introducción a la programación en C (VIII)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
amras5584
Experto
Experto
Mensajes: 628
Registrado: 04 Oct 2009, 15:56
Ubicación: Casal, Paraíso Tropical!!!!

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por amras5584 »

vamos con este pues...

Ejercicio 1:
Spoiler:

Código: Seleccionar todo

// Incluímos o ficheiro stdio.h
#include <stdio.h>

//Función principal:
int main(int argc, char *argv[])
{
  int cifra;
 
  printf("Introduce unha cifra: ");
  scanf("%d", &cifra);
  printf("\n");
 
  if ((cifra % 2 == 0) && (cifra < 20))
    printf("É par e menor que vinte\n");
  else printf("Non cumpre a condición!\n");
 
  return 0;
}

Ejercicio 2:
Spoiler:

Código: Seleccionar todo

// Incluímos o ficheiro stdio.h
#include <stdio.h>

//Función principal:
int main(int argc, char *argv[])
{
  float cifra1;
  float cifra2;
 
  printf("\nIntroduce a primeira cifra: ");
  scanf("%f", &cifra1);
  printf("\n");
 
  printf("Introduce a segunda cifra: ");
  scanf("%f", &cifra2);
  printf("\n");
 
  printf("As cifras introducidas son %.0f e %.0f\n", cifra1, cifra2);
 
  if (((cifra1 + cifra2) / 2)> 20)
    printf("A Media das dúas cifras é maior que vinte\n");
  else printf("A Media das dúas cifras é menor que vinte\n");
 
  if ((cifra1 + cifra2) > 20)
    printf("A Suma das dúas cifras é maior que vinte\n");
  else printf("A Suma das dúas cifras é menor que vinte\n");
 
  if ((cifra1 * cifra2) > 20)
    printf("O Produto das dúas cifras é maior que vinte\n");
  else printf("O Produto das dúas cifras é menor que vinte\n");
 
  return 0;
}

Ejercicio 3:
Spoiler:

Código: Seleccionar todo

// Incluímos o ficheiro stdio.h
#include <stdio.h>

//Función principal:
int main(int argc, char *argv[])
{
  int n1, n2, cifra, valor, i;
 
  printf("\nIntroduce a primeira cifra: ");
  scanf("%d", &n1);
  printf("\n");
 
  printf("Introduce a segunda cifra: ");
  scanf("%d", &n2);
  printf("\n");
 
  cifra = n1 + n2;
 
  if (n1 >= n2) valor = n1;
  else valor = n2;
 
  if ((cifra % 2) == 0) i = 2;
  else printf("A suma das dúas cantidades da un resultado impar\n");
 
  while(i <= valor)
  {
    printf("%d\n", i);
    i += 2;
  }
 
  return 0;
}

Ejercicio 4:
[][][][]
Ejercicio 5:
[][][][]
Deica.

P.D.: los que quedan los iré añadiendo cuando los tenga. por hoy es suficiente...
Usuario nº 13 del antiguo foro de Dark_AleX (alabado sea)

Ahora que se han desvelado las Keys de Sony, la Scene ha SUPERDIGIEVOLUCIONADO!!

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

1.

amras5584 escribió:if ((cifra % 2 == 0) && (cifra < 20))
printf("É par e menor que vinte\n");
else printf("Non cumpre a condición!\n");

Lo mismo que te dije antes ;) Y cuidado con las tildes, que C es vieja escuela :mrgreen:


2. No repitas una operación sin necesidad.

3. No cumple con lo que se pide. Igualmente te hago unos comentarios:

¿valor? Mal nombre, ponle uno mejor. Y mejor así (tal y como te comenté anteriormente):

Código: Seleccionar todo

if (n1 >= n2)
{
   valor = n1;
}
else
{
   valor = n2;
}

Saludos y buen esfuerzo :oki:
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

ejercicio 3 corregido

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int max=0, cont=0, num1, num2, suma;
   
    printf("\t--Introduce un numero entero--\n\t\t");
    scanf("%d", &num1);
   
    printf("\t--Introduce otro numero--\n\t\t");
    scanf("%d", &num2);
   
    suma= num1 + num2;
   
    if(num1>num2)
    {
        max = num1;
    } 
    else
    {   
        max = num2;
    }   
   
   
    if(suma%2==0)
    {
       cont=2;
    }
    else
    {
        cont = 1;
        max = suma;
    }
   
    while(cont <= max)
    {         
      printf("\t\n%d", cont);
      cont+=2;
               
    }
   
    return 0;

}


-- Doble Post --

ejercicio 4 con algunas modificaciones

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int num, cont=2, cont2=0;
   
    printf("Ingrese un numero natural: ");
    scanf("%d", &num);
   
    if((num % 2==0)&&(num!=2))
    {
        printf("El numero no es primo\n");
    }
   
    else if (num ==  2)
    {
        printf("El 2 es el unico numero par que es primo\n");
    }
       
    else if(num == 1)
    {   
        printf("numero no valido\n");
    }
         
       
    else
    {
        while (cont < num)
        {
            if(num % cont==0)
            {
                cont2++;               
            }     
           
            cont++;
        }
           
        if(cont2> 1)
        {
            printf("%d no es primo\n", num);
        }
           
        else
        {
            printf("%d es primo\n", num);     
        }
           
    }
 
    return 0;         
}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

haddad escribió:ejercicio 3 corregido

Código: Seleccionar todo

while(cont <= max)

max es un mal nombre puesto que confunde. Utiliza otra variable.

haddad escribió:ejercicio 4 con algunas modificaciones

Código: Seleccionar todo

if((num % 2==0)&&(num!=2))
{
   printf("El numero no es primo\n");
}
else if (num ==  2)

Estás comparando num con 2 dos veces sin que num haya cambiado de valor. Busca otra forma de hacerlo con una sola comparación.

Obviamente sigue estando mal el algoritmo puesto que sigues buscando cuando ya sabes que no es primo.
Imagen

Avatar de Usuario
amras5584
Experto
Experto
Mensajes: 628
Registrado: 04 Oct 2009, 15:56
Ubicación: Casal, Paraíso Tropical!!!!

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por amras5584 »

m0skit0 escribió:Y cuidado con las tildes, que C es vieja escuela :mrgreen:


por lo que pude comprobar hasta ahora, sólo da problemas cuando se le pone tilde a una variable, por ejemplo límite en otro ejercicio creo que de ejemplo...

otro día me pongo a corregir lo que me dijiste, que llevo esta semana de vacaciones y ya estoy cansado de tanto código. ayer parecía un zombie cuando quedé para tomar algo con mi novia, jejeje...
Usuario nº 13 del antiguo foro de Dark_AleX (alabado sea)

Ahora que se han desvelado las Keys de Sony, la Scene ha SUPERDIGIEVOLUCIONADO!!

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

ejercicio 4

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
   
    int num, cont=2, cont2=0;
   
    printf("introduce un numero natural: ");
    scanf("%d", &num);
   
    if(num==2)
    {
       printf("el 2 es el unico numero par que es primo\n");
    }   
   
    else if(num==1)
    {
        printf("ese numero no es valido\n"); 
    }   
   
   
    else
        {
            while (cont < num)
            {
                if(num % cont==0)
                {
                    cont2++;               
                }     
               
                cont++;
            }
               
            if(cont2 < 1)
            {
                printf("%d es primo\n", num);
            }
               
            else
            {
                printf("%d no es primo\n", num); 
            }
               
        }
   
       
    return 0;
}


disculpa, lo olvidé
Última edición por haddad el 14 Jul 2011, 00:06, editado 1 vez en total.

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

¿Por qué sin las etiquetas [code]? Así no hay quién se entere...
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

ya fue editado en el post anterior

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

¿Por qué sigues con el bucle cuando ya sabes que el número no es primo?
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

El único aviso que le dice al usuario que el número no es primo, se encuentra al final del bucle
haddad escribió:else
{
printf("%d no es primo\n", num);
}


si lo dices por
haddad escribió:else if(num==1)
{
printf("ese numero no es valido\n");
}


entonces podria modificarse u omitirse

Responder