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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Comparar palabras en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparar palabras en C  (Leído 2,742 veces)
routers en C!

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Comparar palabras en C
« en: 3 Diciembre 2012, 21:09 pm »

el problema es muy tonto y en C pero llevo toda la tarde.

Me piden un numero n y n palabras.
Tengo que utilizar un vector de tiras de caracteres.
El programa acaba diciéndome que palabra se repite mas.

Esto es lo que he echo:

#include<stdio.h>

#define N 100
int main (void){
    int n,i,j,k,max;
    int repe[N];
    char p[N][N];
    printf("Da un n:\n");
    scanf("%d",&n);

    for(i=0;i<N;i++){
        repe=0;
    }

    printf("Da las palabras:\n");
    for(i=0;i<n;i++){
        scanf("%s",p);
    }
    for(k=0;k<N;k++){
     for(i=1;i<n;i++){
        for(j=0;j<i;j++){
            if(p[k]==p[k][j]){
                repe[k]++;
            }
        }
      }
    }
    k=0;
    max=0;
    for(i=0; i<N; i++){
        if(max<repe){
            max=repe;
            k=i;
        }
    }

    if(k==0){
        printf("La  palabra que mas se repite es %s",p[0]);
    }else{
        printf("La  palabra que mas se repite es %s",p[k]);
    }
    return 0;
}


En línea

Xenomorfo77

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Comparar palabras en C
« Respuesta #1 en: 3 Diciembre 2012, 21:19 pm »

Por favor ponlo un poco mas visible.

Código
  1. #include<stdio.h>
  2.  
  3. #define N 100
  4. int main (void){
  5.    int n,i,j,k,max;
  6.    int repe[N];
  7.    char p[N][N];
  8.    printf("Da un n:\n");
  9.    scanf("%d",&n);
  10.  
  11.    for(i=0;i<N;i++){
  12.        repe[i]=0;
  13.    }
  14.  
  15.    printf("Da las palabras:\n");
  16.    for(i=0;i<n;i++){
  17.        scanf("%s",p[i]);
  18.    }
  19.    for(k=0;k<N;k++){
  20.     for(i=1;i<n;i++){
  21.        for(j=0;j<i;j++){
  22.            if(p[k][i]==p[k][j]){
  23.                repe[k]++;
  24.            }
  25.        }
  26.      }
  27.    }
  28.    k=0;
  29.    max=0;
  30.    for(i=0; i<N; i++){
  31.        if(max<repe[i]){
  32.            max=repe[i];
  33.            k=i;
  34.        }
  35.    }
  36.  
  37.    if(k==0){
  38.        printf("La  palabra que mas se repite es %s",p[0]);
  39.    }else{
  40.        printf("La  palabra que mas se repite es %s",p[k]);
  41.    }
  42.    return 0;
  43. }
  44.  


En línea

routers en C!

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Comparar palabras en C
« Respuesta #2 en: 3 Diciembre 2012, 21:39 pm »

lo siento es la primer vez que lo hago,..
¿pero sabes como hacerlo?
En línea

Xenomorfo77

Desconectado Desconectado

Mensajes: 61


Ver Perfil
Re: Comparar palabras en C
« Respuesta #3 en: 3 Diciembre 2012, 23:51 pm »

lo siento es la primer vez que lo hago,..
¿pero sabes como hacerlo?

Me resulta casi inentendible tu codigo jaja. Tienes que leer n numero de cadenas y decir cual es la que mas se repite no? Puedes usar mas librerias? Hay una funcion que compara cadenas que se llama strcmp() de la libreria string, tambien puedes cojer los datos de las cadenas con fgets() busca información al respecto y postea tus dudas. Tratare de hacerte un code pero ahora mismo no tengo tiempo. Un saludo!
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Comparar palabras en C
« Respuesta #4 en: 4 Diciembre 2012, 00:02 am »

Citar
Creo que ahora te funcionará:
Código
  1.  
  2. #include<stdio.h>
  3. #include <string.h>
  4. #define N 100
  5. int main (void){
  6.    int n,i,j,k,max,repe[n];
  7.    printf("Dame el numero de palabras: ");
  8.    scanf("%d",&n);
  9.    for(i=0;i<n;i++)
  10.        repe[i]=0;
  11.    char p[n][N];
  12.    printf("Da las palabras:\n");
  13.    for(i=0;i<n;i++)
  14.        scanf("%s",p[i]);
  15.    for(k=0;k<n;k++)
  16.        for(i=0;i<n;i++)
  17.            if (strcmp(p[k], p[i])==0 &&k!=i)
  18.                repe[k]++;
  19.    k=0;
  20.    max=0;
  21.    for(i=0; i<n; i++){
  22.        if(max<repe[i]){
  23.            max=repe[i];
  24.            k=i;
  25.        }
  26.    }
  27.    printf("La  palabra que mas se repite es %s",p[k]);
  28.    return 0;
  29. }
  30.  
Saluditos!.
« Última modificación: 4 Diciembre 2012, 10:29 am por leosansan » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Comparar palabras en C
« Respuesta #5 en: 4 Diciembre 2012, 15:45 pm »

el problema es muy tonto y en C pero llevo toda la tarde.

Me piden un numero n y n palabras.
Tengo que utilizar un vector de tiras de caracteres.
El programa acaba diciéndome que palabra se repite mas.
Los pasos para realizar la operación, en lo general, son:

1) Almacenas cada palabra en un array de arrays de caracteres.
2) Ordenas las cadenas utilizando, por ejemplo, la función qsort parte de la biblioteca estándar de C (prototipo en <stdlib.h>).
3) Con el paso 2 los repetidos ya están agrupados, ahora solo debes comparar cada cadena con la anterior: si son distintas es un nuevo grupo, si son iguales incrementas el contador y comparas contra el máximo.

No es difícil, es eficiente y, mejor todavía, un buen ejercicio.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Comparar listas de palabras
Scripting
Meta 3 14,926 Último mensaje 16 Noviembre 2010, 14:03 pm
por Novlucker
Microsoft: comparar IE9 y Firefox 4 es como comparar “manzanas y naranjas” « 1 2 »
Noticias
wolfbcn 15 7,300 Último mensaje 27 Marzo 2011, 04:35 am
por Foxy Rider
Sustituir palabras en palabras...
Java
soser 4 5,025 Último mensaje 18 Julio 2011, 02:06 am
por Valkyr
comparar IP´s
Dudas Generales
darchi 0 3,034 Último mensaje 20 Julio 2011, 17:37 pm
por darchi
Contar y comparar palabras en lenguaje c
Programación C/C++
martha71404 6 11,042 Último mensaje 29 Octubre 2015, 02:36 am
por martha71404
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines