elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  observación de programa en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: observación de programa en c  (Leído 1,798 veces)
w3ro

Desconectado Desconectado

Mensajes: 4


Ver Perfil
observación de programa en c
« en: 3 Abril 2013, 03:56 am »

hola queria ver si me podrian dar otra opcion mas corta de validar y contar las vocales y consonantes de este programa saludos gracias
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define tam 10

void captura (char M[tam][tam]);
void mostrar (char M[tam][tam]);
int main()
{

  char M[tam][tam];
  captura(M);
  getch();
  return(0);
}
void captura (char M[tam][tam])
{
  int i,con=0,voc=0,ban=0,lon=0;
  for (int i=0;i<=4;i++)
{
printf("Escribe un color %d: ",i+1);
scanf("%s",&M);
}
for ( i=0;i<=4;i++)
{
printf("Colores:  %s\n",M);
}
 for(int x=0;x<=4;x++)
    {
    lon=strlen(M
  • );
    for(int y=0; y<lon; y++)
       {
       if(M
  • [y]=='a')
       {
       voc=voc+1;
       ban=1;
       }

      if(M
  • [y]=='e')
       {
       voc=voc+1;
       ban=1;
       }
      if(M
  • [y]=='i')
       {
       voc=voc+1;
       ban=1;
       }
       if(M
  • [y]=='o')
       {
       voc=voc+1;
       ban=1;
       }
        if(M
  • [y]=='u')
       {
       voc=voc+1;
       ban=1;
       }
         if (ban==0)
         {
         con=con+1;
         }
       ban=0;
       }
       }

       printf("El numero de vocales es: %d\n",voc);
       printf("El numero de consonantes es: %d\n",con);
 }


En línea

pacoperico

Desconectado Desconectado

Mensajes: 100


Ver Perfil
Re: observación de programa en c
« Respuesta #1 en: 3 Abril 2013, 12:22 pm »

Si lo quieres mas corto puedes hacer un switch case en lugar de todos esos if para comprobar si es una vocal


En línea

<<<-Basura->>>


Desconectado Desconectado

Mensajes: 388



Ver Perfil
Re: observación de programa en c
« Respuesta #2 en: 3 Abril 2013, 13:13 pm »

Con 2 vectores... uno para vocales y otro para consonantes

Recorriendo los por cada letra, cuando encuentra una coincidencia suma en alguno de los contadores...

solo necesitas 2 for y 2 if... creo
En línea

<<<--Basura-->>>
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: observación de programa en c
« Respuesta #3 en: 3 Abril 2013, 14:20 pm »

No necesitas la librería conio (puedes usar getchar() en lugar de getch()).

solo necesitas 2 for y 2 if... creo
2 if? Como compruebas si una letra es una vocal?
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: observación de programa en c
« Respuesta #4 en: 3 Abril 2013, 15:49 pm »

Si no he entendido mal quieres que se cuenten las vocales y consonantes de cada color por separado no? Mira si esto te funciona.

Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #define tam 10
  5.  
  6. void captura (char M[tam][tam]);
  7. void mostrar (char M[tam][tam]);
  8. int main()
  9. {
  10.  
  11.  char M[tam][tam];
  12.  captura(M);
  13.  getch();
  14.  return(0);
  15. }
  16.  
  17. void captura (char M[tam][tam])
  18. {
  19.  int i,con,voc;
  20.  for (int i=0;i<=4;i++)
  21.  {
  22.   printf("Escribe un color %d: ",i+1);
  23.   scanf("%s",&M[i]);
  24.  }
  25.  for ( i=0;i<=4;i++)
  26.  {
  27.    con=0;
  28.    voc=0;
  29.    printf("Color:  %s\n",M[i]);;
  30.    for(int y=0; y<strlen(M[i]); y++)
  31.    {
  32.       if(M[i][y]=='a' || M[i][y]=='e' || M[i][y]=='i' || M[i][y]=='o' || M[i][y]=='u') voc=voc+1; else con=con+1;
  33.    }
  34.  printf("El numero de vocales es: %d\n",voc);
  35.  printf("El numero de consonantes es: %d\n",con);
  36.  }
  37. }
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: observación de programa en c
« Respuesta #5 en: 3 Abril 2013, 15:57 pm »

2 if? Como compruebas si una letra es una vocal?
Haciendo trampa (Usando la biblioteca estandar). Mas o menos asi:
Código
  1. #include <string.h> /* strchr  */
  2. #include <ctype.h>  /* isalpha */
  3.  
  4. /* ... */
  5.  
  6. char ch; /* algun caracter */
  7.  
  8. /* ... */
  9.  
  10. if (isalpha(ch))
  11.   if (strchr("AEIOUaeiou", ch) != NULL){
  12.  
  13.      /* ch es una vocal */
  14.  
  15.   }else {
  16.  
  17.      /* ch es una consonante */
  18.  
  19.   }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
observacion al foro!
Sugerencias y dudas sobre el Foro
Athlon 5 2,449 Último mensaje 2 Julio 2004, 06:10 am
por Songoku
observacion Y Sugerencia
Juegos y Consolas
Diego Arenas 4 2,092 Último mensaje 13 Mayo 2008, 00:34 am
por Castiblanco
Pequeña observación - IRC
Sugerencias y dudas sobre el Foro
[eljedi] 2 3,006 Último mensaje 21 Marzo 2012, 23:46 pm
por [eljedi]
programa de matriz aver si el programa q estoy haciendo esta bien « 1 2 »
Programación C/C++
eduardo17445 10 6,738 Último mensaje 23 Octubre 2012, 00:11 am
por flony
Observación de la contraseña descifrada
Dudas Generales
newusuario 3 2,663 Último mensaje 25 Enero 2014, 18:48 pm
por andreselmejor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines