• Domingo 15 de Diciembre de 2024, 00:59

Autor Tema:  Saber Cusantas Letras Tiene Una Oracion  (Leído 2099 veces)

jam007

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Saber Cusantas Letras Tiene Una Oracion
« en: Domingo 24 de Octubre de 2004, 20:03 »
0
si tiene un programa para saber cuantas letras tiene una oracion
ejemplo

hola a todos

tiene
h=1
o=3
a=2
t=1
d=1
l=1
s=1

nesecito eso para hacer un programas de mas dificultad pero no se me ocurre nada

gracias de antemano

thelinker

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Saber Cusantas Letras Tiene Una Oracion
« Respuesta #1 en: Lunes 25 de Octubre de 2004, 06:18 »
0
Puedes tratar de revisar las oraciones por medio de sentencias For que recorran todo el vector de caracteres , asi cada vez que se encuentre una letra pues le sumas uno a algun contador por ejemplo:

char vector[size];
char c;
int cont;
for(int i=0;i<size;i++){
    if(vector=='h'){
          cont++;
          c=vector;  
}
  }
printf("%c=%d",c,cont);

o algo asi.......

The linker :comp:

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Saber Cusantas Letras Tiene Una Oracion
« Respuesta #2 en: Lunes 25 de Octubre de 2004, 06:22 »
0
Crea un matriz de 2 dimensiones.....Una para la letra y otra para la cantidad......

Código: Text
  1.  
  2. [A][3]
  3.  
  4.  

Tienes que leer caracter por caracter....Cuando lees el primero lo guardas en la matriz.....lees el segundo y lo comparas con el valor que tienes almacenado, si son iguales, aumentas en uno a tu matriz, sino, agregas la nueva letra y listo  B)

No es dificil de hacer  :comp:

Saludos,

Blag  :devil:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Saber Cusantas Letras Tiene Una Oracion
« Respuesta #3 en: Lunes 25 de Octubre de 2004, 09:18 »
0
yo crearia nu array de esta estructura:
Código: Text
  1.  
  2. struct st_letras
  3. {
  4.    char letra;
  5.    int   repeticiones;
  6. }
  7.  
  8.  

y comenzaria a recorrer la palabra..
cada letra que lea la busco en mi array de st_letras si no existe creo un nuevo nodo y le coloco el valor de 1 al campo repeticiones, si existe ubico el nodo e incremento repeticioens en 1.
y ya.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ragnarok

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Saber Cusantas Letras Tiene Una Oracion
« Respuesta #4 en: Lunes 25 de Octubre de 2004, 15:34 »
0
También puedes utilizar un map, como clave pones el abecedario y como valor el número de veces que aparece la letra.

Lo mejor de todo es cómo queda el código (supongamos que almacenas el string en char* frase):

Código: Text
  1. map &#60;char, int&#62; tabla;
  2. for (i=0; frase[i]; i++)
  3.    tabla[i]++;
  4.  
  5.  

jam007

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Re: Saber Cusantas Letras Tiene Una Oracion
« Respuesta #5 en: Martes 26 de Octubre de 2004, 06:16 »
0
es para el metodo de compresion de huffman pero debo leer los datos de un archivo de texto (eso lo leo en un libro)

otra pregunta de otra materia

saben algun buen tutorial de lenguaje ensamblador pero funcionando en c

ejemplo este  codigo


char page=0;
void cursor_xy(char, char);
void imprime_caracter(char,char);
char m[]="Estoy Aqui";
char m1[]="Donde estoy";
void pagina_presente(void);
int lee_tecla(void);
void main()
{int i;
_AH=0;
_AL=1;
asm int 10h
printf("40x25 a colore");
_AH=1;
_CH=0;
_CL=3;
asm int 10h
cursor_xy(10,20);
for (i=0;m;i++)
{page=1;
cursor_xy(10,20+i);
 imprime_caracter(i+1,m);

}


for(i=0;m1;i++)
{cursor_xy(0,i);imprime_caracter(2,m1);
}
lee_tecla();
pagina_presente();


getch();
}
void pagina_presente()
{_AH=5;
_AL=page;
_BH=page;
asm int 10h
getch();
asm int 10h;
}

void cursor_xy(char x,char y)
{_AH=2;
_DH=x;
_DL=y;
_BH=page;
asm int 10h
}

void imprime_caracter(char color, char caracter)
{_AH=9;
_BH=page;
_BL=color;
_CX=1;
_AL=caracter;
asm int 10h
}
int lee_tecla()
{_AH=0;
asm int 16h
return (_AX);
}

casi todos en mi grupo (incluyendo al prof) estan bien desorientados y yo kiero salirme de ese circulo vocioso

gracias e antemano