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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Contar subcadena en una cadena
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Contar subcadena en una cadena  (Leído 4,103 veces)
_*p

Desconectado Desconectado

Mensajes: 15



Ver Perfil
[C] Contar subcadena en una cadena
« en: 18 Febrero 2011, 19:18 pm »

Qué les parece este ejercicio que me tocó hacer? Tienen alguna mejora?


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. /** Algoritmo que cuenta la cantidad de cadenas
  6. dentro de otra cadena **/
  7.  
  8. typedef unsigned int ui;
  9. ui cuenta_str(const char *, const char *);
  10.  
  11. int main()
  12. {
  13.    char *cadena = "¿MUNDO? MUNDO, SOY EL DIOS DEL MUNDO, MUNDO DOMINARE";
  14.    char *subcad = "MUNDO";
  15.    ui cuenta = cuenta_str(cadena, subcad);
  16.    printf("La cantidad de veces que %s se repite en %s es: %d", subcad, cadena, cuenta);
  17.    return 0;
  18. }
  19.  
  20. ui cuenta_str(const char *s1, const char *s2)
  21. {
  22.    const char *delim = " ,.!¡¿?/-";
  23.    char *aux = malloc(sizeof(char) * strlen(s1) + 1);
  24.    char *token_Ptr;
  25.    ui cnt = 0;
  26.    if(s1 == NULL)
  27.        return 0;
  28.    strcpy(aux, s1);
  29.    token_Ptr = strtok(aux, delim);
  30.    while(token_Ptr != NULL)
  31.    {
  32.        if(strcmp(token_Ptr, s2) == 0)
  33.            cnt++;
  34.        token_Ptr = strtok(NULL, delim);
  35.    }
  36.    return cnt;
  37. }

Debería liberar la memoria de aux cierto?

EDITADO: Debería también contar MUNDO en la cadena "MUNDOROLA"? creen que sea necesario? Digamos que asumí que cadena = palabra :P


« Última modificación: 18 Febrero 2011, 19:25 pm por fbin » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
una subcadena dentro de una cadena
Programación Visual Basic
minette1988 2 6,320 Último mensaje 24 Mayo 2010, 16:31 pm
por Dessa
contar palabras repetidas o cadena de caracteres
PHP
kanser 9 10,662 Último mensaje 21 Octubre 2011, 01:22 am
por kanser
[Ayuda] Contar letras de una cadena C#
.NET (C#, VB.NET, ASP)
Leo_Programador 1 5,158 Último mensaje 30 Noviembre 2014, 09:26 am
por Eleкtro
[C++] ¿Cómo me puede leer un cin de una cadena de texto sin contar espacios?
Programación C/C++
DeIMachine 2 2,375 Último mensaje 17 Enero 2016, 20:20 pm
por DeIMachine
Dividir cadena en subcadena C++
Programación C/C++
gomezjuan 4 4,063 Último mensaje 18 Mayo 2020, 12:53 pm
por gomezjuan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines