C/Visual C - Urgente Dividir palabra en silabas

 
Vista:

Urgente Dividir palabra en silabas

Publicado por Alvaro (9 intervenciones) el 16/10/2000 00:00:00
Compañeros antes que todo muchas gracias por ayudarme, lo que necesito es un programa que al digitar una palabra la divida en silabas
Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

razona un poco tu problema.

Publicado por xj35u5x (63 intervenciones) el 16/10/2000 00:00:00
Para ello necesitas un algoritmo, el cual fuera
separando las palabras, que supongo deben estar en idioma español.... POr eso, figúrate el ejemplo de estas dos palabras :

soltero

soledad

Como podría tu programa saber que la primera silaba de la primera palabra es "sol", y en la segunda es simplemente "so"

De esta manera, nos damos cuenta de que te podrás encontrar con miles de cosas como esta en el idioma, con lo cual, demostramos que crear tu programa, como lo estas pidiendo, es casi-imposible, o sea, podría ser, con una GRAN GRAN base de datos, de las palabras de un diccionario, pero supongo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

continue

Publicado por xj35u5x (63 intervenciones) el 16/10/2000 00:00:00
que esa no es tu idea...

entonces, podemos concluir que quizá se podría inplementar un algoritmo, pero siempre y cuando se trabaje solo sobre un determinado grupo de palabras, que cumplan condiciones necesarias para evitar lo que ya te ilustré....

esto es solo un razonamiento, espero que
te ayude...


xj35u5x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:continue

Publicado por Alvaro (9 intervenciones) el 16/10/2000 00:00:00
Gracias Alguien con una mejor idea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Solucionado

Publicado por Mike(UC) (3 intervenciones) el 16/10/2000 00:00:00
Vamos a ver, para separar una palabra en silabas, nos remitimos a las reglas mas basicas, y estas son perfectamente programables y reproducibles mediante un programa.

Las reglas a seguir serian:

-Contabilizacion de 2 en 2 letras si sucede lo siguiente, se separaran las dos primeras letras, si la 4ª letra es vocal, en caso contrario, se tomara como primera silaba las tres primeras letras, o si comienza con dos consonantes. Esto se repetiria en cada paso, el final, es decir, la terminacion, en caso de que nos queden 3 letras por analizar, se convertiria en silaba las 3 cuando la ultima letra sea consonante, en caso contrario nos quedariamos con dos silabas de dos y una letra.

Estas son una pequeñas reglas a simple vista, despues seguro que encuentro alguna mas. Unicamente serviran de referencia, a la hora de programar eliminaremos cualquier forma de redundancia mediante algoritmos diversos.



[1] si [1] es vocal y [3] son vocales

[1][2] si [1][2] no son dos consonantes y [4] es vocal.

[1][2][3] si [1][2] son consonantes o/y vocales y [4] no vocal.

[1][2][3] si [1][2] son vocales y [3] consonante.

[1][2][3][4] si [1][2] son consonantes y [4] es vocal.

[1][2][3][4] si [1][2] son vocal y consonante y [4] es consonante.


Los indices los modificariamos segun avanzamos por la palabra.

Si tienes alguna duda escribe una nota al foro o al e-mail [email protected] , si quieres te lo puedo programar pero necesito unos dias ya que ando liado con otras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Decir que...

Publicado por Mike(UC) (3 intervenciones) el 16/10/2000 00:00:00
Ando liado con otras cosas, que quede claro, que peligroso es este foro que te corta el texto cuando menos te lo esperas.... :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decir que...

Publicado por Mike Favor ayudarme (9 intervenciones) el 17/10/2000 00:00:00
Muchas Gracias por ayudarme si tiene algun tiempito favor ayudarme lo necesito para mañana Miercoles 17/10/2000 muchas gracias de ante mano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decir que...

Publicado por Mike(UC) (3 intervenciones) el 17/10/2000 00:00:00
Para el miercoles noche o jueves por la mañana cuelgo el codigo en el foro. No puedo hacer mas, ando muy pillao de tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Decir que...

Publicado por amigo (9 intervenciones) el 18/10/2000 00:00:00
Cuando puedas amigo gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sílabas

Publicado por Germán B. (143 intervenciones) el 21/10/2000 00:00:00
Solo para comentar que hace varios años tuve que programar la separación en sílabas, que como bien se ha dicho es perfectamente posible y no requiere una base de datos ni un diccionario. Es cuestión de tener a mano el conjunto de reglas a aplicar, que en su momento con un amigo las resolvimos y la cosa funcionaba muy bien. Lo había hecho en BASIC, pero lamentablemente creo que no me quedan rastros de aquel trabajo.
Saludos
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente Dividir palabra en silabas

Publicado por Orlando Augusto Romano (2 intervenciones) el 14/11/2000 00:00:00
Querido Amigo a continuación te envío el código fuente de una posible solución a tu problema que yo mismo elaboré. Espero que te ayude y que no sea demasiado tarde. Esta escrito en lenguaje C y dice más o menos así:

/* Aplicación que permite separar en sílabas una palabra escrita en idoma
español. */

/* Reglas:
1º) Si a una consonante le sigue otra consonante entonces separarlas si la
letra que sigue a la segunda consonante es una vocal, si no es una vocal pero
forman cualquier excepción de la regla 1º) después de la primera consonante
entonces separarlas.
Excepciones: BL, CL, FL, GL, LL, PL, TL, BR, CR, DR, FR, GR, PR, TR, CH.
2º) Si a una vocal le sigue una consonante entonces separarlas si la letra
que sigue a la consonante es una vocal, si no es una vocal pero forman
cualquier excepción de la regla 1º) después de la primera vocal entonces
separarlas.
3º) Si a una consonante le sigue una vocal entonces no separarlas.
4º) Si a una vocal le sigue otra vocal entonces si forman diptongo
( IA, IE, IO, UA, UE, UO, AI o AY, AU, EI o EY, EU, OI u OY, OU, IU, UI o UY )
no separarlas. Si forman diptongo y le sigue cualquier excepción de la
regla 1º) separar después del diptongo.
*/

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>

const char excepciones [][3] = { "BL", "CL", "FL", "GL", "LL", "PL", "TL", "BR",
"CR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente Dividir palabra en silabas

Publicado por Orlando Augusto Romano (2 intervenciones) el 14/11/2000 00:00:00
const char diptongos [][3] = { "IA", "IE", "IO", "UA", "UE", "UO", "AI", "AY",
"AU", "EI", "EY", "EU", "OI", "OY", "OU", "IU", "UI", "UY" };

void leer_palabra(char *palabra, int longitud);
int es_vocal(char c);
int es_diptongo(char *d);
int es_excepcion(char *e);
void inicializar_silabas(char *silabas);
int separar_silabas(char *palabra, char *silabas);

int main() {
int i, s;
char palabra [30], silabas [30][10];

do {
inicializar_silabas(&silabas[0][0]);
printf("\nEscriba una palabra: ");
leer_palabra(palabra, 30);
s = separar_silabas(palabra, &silabas[0][0]);
printf("\nSilabas: ");
for(i = 0; i <= s; i++)
printf("%s ", silabas[i]);
} while(getch()!= 27);
return 0;
}

/* Esta función permite leer una palabra especificando su longitud. */
void leer_palabra(char *palabra, int longitud) {
int i = 0;
char c;

do {
if(isalpha(c = getch())) // Si el caracter es una letra del alfabeto.
putchar(palabra[i++] = toupper(c)); // Escribe el caracter leído.
if(c == ´\0´) c = getch(); // Para no leer teclas especiales.
} while(c != 13 && i != longitud); // Termina con Enter o cumple longitud.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente Dividir palabra en silabas

Publicado por marchelo (1 intervención) el 25/04/2012 02:44:00
Faltan las funciones "inicializar_silabas" y "separar_silabas"
Tienes el código por casualidad?
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente Dividir palabra en silabas

Publicado por Dulce (1 intervención) el 15/12/2006 14:09:30
dividir en silabas la palabra examen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Urgente Dividir palabra en silabas

Publicado por kelcom (1 intervención) el 24/02/2013 00:01:10
algoritmo http://dividirsilabas.blogspot.com/2013/02/este-algoritmo-es-hecho-por-mi-en.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar