Autor
|
Tema: Comparar palabras en C (Leído 2,998 veces)
|
routers en C!
Desconectado
Mensajes: 3
|
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
Mensajes: 61
|
Por favor ponlo un poco mas visible. #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[i]=0; } printf("Da las palabras:\n"); for(i=0;i<n;i++){ scanf("%s",p[i]); } for(k=0;k<N;k++){ for(i=1;i<n;i++){ for(j=0;j<i;j++){ if(p[k][i]==p[k][j]){ repe[k]++; } } } } k=0; max=0; for(i=0; i<N; i++){ if(max<repe[i]){ max=repe[i]; 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
|
|
|
|
routers en C!
Desconectado
Mensajes: 3
|
lo siento es la primer vez que lo hago,.. ¿pero sabes como hacerlo?
|
|
|
En línea
|
|
|
|
Xenomorfo77
Desconectado
Mensajes: 61
|
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
Mensajes: 1.314
|
Creo que ahora te funcionará: #include<stdio.h> #include <string.h> #define N 100 int main (void){ int n,i,j,k,max,repe[n]; printf("Dame el numero de palabras: "); scanf("%d",&n); for(i=0;i<n;i++) repe[i]=0; char p[n][N]; printf("Da las palabras:\n"); for(i=0;i<n;i++) scanf("%s",p[i]); for(k=0;k<n;k++) for(i=0;i<n;i++) if (strcmp(p[k], p[i])==0 &&k!=i) repe[k]++; k=0; max=0; for(i=0; i<n; i++){ if(max<repe[i]){ max=repe[i]; k=i; } } printf("La palabra que mas se repite es %s",p[k]); return 0; }
Saluditos!.
|
|
« Última modificación: 4 Diciembre 2012, 10:29 am por leosansan »
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] Comparar listas de palabras
Python
|
Meta
|
3
|
15,177
|
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
|
8,054
|
27 Marzo 2011, 04:35 am
por Foxy Rider
|
|
|
Sustituir palabras en palabras...
Java
|
soser
|
4
|
5,234
|
18 Julio 2011, 02:06 am
por Valkyr
|
|
|
comparar IP´s
Dudas Generales
|
darchi
|
0
|
3,305
|
20 Julio 2011, 17:37 pm
por darchi
|
|
|
Contar y comparar palabras en lenguaje c
Programación C/C++
|
martha71404
|
6
|
11,958
|
29 Octubre 2015, 02:36 am
por martha71404
|
|