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

 

 


Tema destacado:


+  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,296 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,477 Último mensaje 24 Mayo 2010, 16:31 pm
por Dessa
contar palabras repetidas o cadena de caracteres
PHP
kanser 9 11,130 Ú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,395 Último mensaje 30 Noviembre 2014, 09:26 am
por Eleкtro
Dividir cadena en subcadena C++
Programación C/C++
gomezjuan 4 4,523 Último mensaje 18 Mayo 2020, 12:53 pm
por gomezjuan
De una cadena, quitar la subcadena especificada, tantas veces como se repita.
Programación General
Tachikomaia 1 227 Último mensaje 22 Diciembre 2024, 15:51 pm
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines