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)
| | |-+  Programa contar palabras de una frase en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa contar palabras de una frase en C  (Leído 7,154 veces)
jmunto

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Programa contar palabras de una frase en C
« en: 11 Enero 2022, 10:02 am »

Necessito un programa que me que cuente las palabras de una frase. Pero el procedimiento ha de ser el siguiente, primero ubicar la cadena de caracteres en una tabla de dos dimensiones. En donde debe de haber una palabra en cada fila. Finalmente ha de contar las filas para saber el numero de palabras. La frase ha de acabar en punto. Voy muy perdido haciendo esto i no se ni como empezar  :-(


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Programa contar palabras de una frase en C
« Respuesta #1 en: 11 Enero 2022, 10:38 am »

Te ayudo a empezar:
Código
  1. int main() {
  2. }

Jejejeje.

Ahora en serio. Te interesará mirar strtok y realloc como corazón de la aplicación.


En línea

.xAk.


Desconectado Desconectado

Mensajes: 397


F0r3v3R NeWbI3


Ver Perfil WWW
Re: Programa contar palabras de una frase en C
« Respuesta #2 en: 12 Enero 2022, 22:38 pm »

Te ayudo a empezar:
Código
  1. int main() {
  2. }

Ahora en serio

no, en serio

Código
  1. #include <regex.h>
  2. ...

PCRE2
« Última modificación: 12 Enero 2022, 23:14 pm por .xAk. » En línea


AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Programa contar palabras de una frase en C
« Respuesta #3 en: 16 Febrero 2022, 06:07 am »

no, en serio

Si, es cierto que existen un sin fin de librerias que te pueden hacer la vida mas facil... pero cuando estan estudiando creo que lo que se busca es enseñarles la logica de programacion que puedan aplicar a cualquier problema en general.

Lo que comento MAFUS sobre strtok fue acertado tambien, pero el problema con este tipo de usuarios que solo abren su cuenta para pedir su tarea ya hacha es que no quieren o no saben leer, quieren todo ya hecho listo para copia, pegar y decirle al maestro que se esforzaron mucho y que por poco no lo logran.

Aunque se les quiera enserñar a hacerlo desde cero ese tipo de alumnos/usuarios no aprenden.
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Programa contar palabras de una frase en C
« Respuesta #4 en: 16 Febrero 2022, 15:11 pm »

Necessito un programa que me que cuente las palabras de una frase. Pero el procedimiento ha de ser el siguiente, primero ubicar la cadena de caracteres en una tabla de dos dimensiones. En donde debe de haber una palabra en cada fila. Finalmente ha de contar las filas para saber el numero de palabras. La frase ha de acabar en punto. Voy muy perdido haciendo esto i no se ni como empezar  :-(

La metodología que sigo a la hora de resolver problemas es la siguiente.
- Leer todo el enunciado para saber exactamente que quieren que haga.
- Volver a leer el programa punto por punto hasta que entiendo cada punto.
- Redactar cada punto.
- Añadir puntos que no están redactados en el texto pero que son necesarios.
- Dividir cada punto en tareas sencillas.
- Programar las tareas sencillas.

De esta forma es muy difícil quedarse bloqueado, ya que sabes exactamente que tarea sencilla quieres realizar, y si no sabes hacerla, la buscas en Google y aprendes.

Por ejemplo, en esta tarea:
- Leer todo el enunciado para saber exactamente que quieren que haga:
Quieren que haga un contador de palabras.

- Volver a leer el programa punto por punto hasta que entiendo cada punto.
- Redactar cada punto:
.1 Ubicar string en tabla bidimensional (1 palabra por fila)
.2 Contar filas (hasta encontrar palabra con punto)

- Añadir puntos que no están redactados en el texto pero que son necesarios:
.1 Obtener string del usuario o escribirlo directamente en el código
.2 Ubicar string en tabla bidimensional (1 palabra por fila)
.3 Contar filas (hasta encontrar palabra con punto)
.4 Imprimir el resultado

- Dividir cada punto en tareas sencillas
.1 Obtener string del usuario o escribirlo directamente en el código
+ Imprime texto en pantalla pidiéndole al usuario que escriba su texto.
+ Obten el texto que escribio el usuario y guárdalo en un array de caracteres.

.2 Ubicar string en tabla bidimensional (1 palabra por fila)
+ Crea array
+ Recorre el texto del usuario (array de caracteres)
+ Crea una variable para guardar la posición donde empieza la palabra
+ Crea otra variable para guardar la posición donde acaba la palabra
+ Añade la palabra al array

.3 Contar filas (hasta encontrar palabra con punto)
+ Crea una variable para contar palabras
+ Recorre el array de palabras
+ Por cada palabra aumenta en 1 la variable contador
+ Si la palabra tiene un punto dentro, sal del bucle

.4 Imprimir el resultado
+ Imprime la variable contador indicando que se trata del número de palabras encontradas.

Una vez tienes el programa dividido en tareas sencillas, lo programas en el lenguaje que toque, en este caso C.
Si te ayuda, puedes hacer un paso mas, que sería convertir las tareas en pseudo código, antes de programarlo en C o poner las tareas en la estructura del lenguaje de destino. Puedes usar español para el pseudocódigo.

Pseudocódigo:
Código
  1. #incluye librerias
  2.  
  3. funcion principal {
  4.  // Imprime texto en pantalla pidiendole al usuario que escriba su texto.
  5.  // Obten el texto que escribio el usuario y guardalo en un array de caracteres.
  6.  
  7.  // Crea array
  8.  // Crea una variable para guardar la posicion donde empieza la palabra
  9.  // Crea otra variable para guardar la posicion donde acaba la palabra
  10.  // Recorre el texto del usuario (array de caracteres) {
  11.    // Anhade la palabra al array
  12.  }
  13.  
  14.  // Crea una variable para contar palabras
  15.  // Recorre el array de palabras {
  16.    // Por cada palabra aumenta en 1 la variable contador
  17.  // Si la palabra tiene un punto dentro, sal del bucle
  18.  }
  19.  
  20.  // Imprime la variable contador indicando que se trata del numero de palabras encontradas.
  21.  
  22.  
  23.  // pausa;
  24.  // retorna 0;
  25. }


+ Imprime texto en pantalla pidiéndole al usuario que escriba su texto.
https://www.google.com/search?q=como+imprimo+texto+al+usuario+en+C

+ Obten el texto que escribio el usuario y guárdalo en un array de caracteres.
https://www.google.com/search?q=leer+frase+del+usuario+C

.2 Ubicar string en tabla bidimensional (1 palabra por fila)
+ Crea array
https://www.google.com/search?q=como+crear+un+array+en+c
https://www.google.com/search?q=como+crear+un+array+bidimensional+en+c

+ Recorre el texto del usuario (array de caracteres)
https://www.google.com/search?q=como+recorrer+un+array+de+caracteres+en+c

+ Añade la palabra al array
https://www.google.com/search?q=como+meter+una+palabra+en+un+array+en+c
https://www.google.com/search?q=array+bidimensional+de+palabras+c
https://www.google.com/search?q=como+añado+palabras+de+un+texto+a+un+array+c
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Tachikomaia


Desconectado Desconectado

Mensajes: 1.420


Hackentifiko!


Ver Perfil
Re: Programa contar palabras de una frase en C
« Respuesta #5 en: 16 Febrero 2022, 18:23 pm »

Yo haría algo así:
Código:
Texto = *ingresarlo*
Palabras = 0
Cursor = 1
Si charat Cursor == " "
   Palabras++
finsi
Cursor++
Si Cursor == Texto.largo
   mostrar la variable Palabras
sino
   goto 1er si
finsi
No sé si está bien, tendría que probarlo pero no tengo ganas.
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Programa contar palabras de una frase en C
« Respuesta #6 en: 17 Febrero 2022, 04:45 am »

Yo haría algo así:
Código:
Texto = *ingresarlo*
Palabras = 0
Cursor = 1
Si charat Cursor == " "
   Palabras++
finsi
Cursor++
Si Cursor == Texto.largo
   mostrar la variable Palabras
sino
   goto 1er si
finsi
No sé si está bien, tendría que probarlo pero no tengo ganas.

Mucho mas simple. Pasa que el enunciado te pide usar arrays bidimensionales para complicarlo un poco
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Tachikomaia


Desconectado Desconectado

Mensajes: 1.420


Hackentifiko!


Ver Perfil
Re: Programa contar palabras de una frase en C
« Respuesta #7 en: 17 Febrero 2022, 05:02 am »

Es que no estoy acostumbrado a usar arrays, y menos bidimensionados  :xD
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Programa contar palabras de una frase en C
« Respuesta #8 en: 17 Febrero 2022, 13:41 pm »

Citar
Texto = *ingresarlo*
Palabras = 0
Cursor = 1
Si charat Cursor == " "
   Palabras++
finsi
Cursor++
Si Cursor == Texto.largo
   mostrar la variable Palabras
sino
   goto 1er si
finsi

No me gusta eso. Si hay dos espacios seguidos contará dos palabras.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa para contar caracteres y palabras*. Act. 20/08/10 « 1 2 3 »
.NET (C#, VB.NET, ASP)
Braayhaan 22 25,374 Último mensaje 29 Enero 2015, 01:51 am
por Eleкtro
Ayuda programa en C contar palabras
Programación C/C++
joseh94 2 3,542 Último mensaje 12 Enero 2015, 18:46 pm
por ivancea96
C sharp - Como Contar la Repeticion de una palabra en una frase.
.NET (C#, VB.NET, ASP)
a.p007 6 8,963 Último mensaje 25 Marzo 2017, 10:13 am
por Eleкtro
JAVA- Como Contar la Repeticion de una palabra en una frase.
Java
a.p007 2 3,548 Último mensaje 17 Abril 2017, 03:49 am
por cunian
[Python 3x] Contar las letras de cualquier frase
Scripting
erickcasita 8 12,405 Último mensaje 29 Enero 2018, 18:32 pm
por erickcasita
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines