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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


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

Desconectado Desconectado

Mensajes: 17


Ver Perfil
contador
« en: 25 Marzo 2015, 03:07 am »

hola tengo un problema con mi codigo necesito que imprima cuantas palabras hay en un arreglo bidimensional interactivo, me imprime bien cuantos caracteres hay por fila pero en palabras solo imprime 0, no se si haya alguna funcion para contar palabras o necesite modificar el codigo
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define T 3
  4. #define B 30
  5. void carga(char[][B]);
  6. void cuenta(char[][B],int[]);
  7. int palabras(char[][B]);
  8. void imprime(int[],int );
  9.  
  10. int main(int argc, char *argv[]) {
  11. char mosco[T][B];
  12. int cont,oso[T];
  13. carga(mosco);
  14. cuenta(mosco,oso);
  15. palabras(mosco);
  16. imprime(oso,cont);
  17. return 0;
  18. }
  19. void carga(char mosco[][B])
  20. {
  21. int i;
  22. for(i=0;i<T;i++)
  23. {
  24. gets(mosco[i]);
  25. }
  26. }
  27. void cuenta(char mosco[][B],int oso[T])
  28. {
  29. int i=0;
  30. for( ;i<T;i++)
  31. {
  32. oso[i]=strlen(mosco[i]);
  33. }
  34.  
  35. }
  36. void imprime(int oso[],int cont)
  37. {
  38. int i=0,j=0;
  39. for(;i<T;i++)
  40. {
  41. printf("cad %d tiene =%d letras\n",i+1,oso[i]);
  42. }
  43. putchar('\n');
  44. for(;j<T;j++)
  45. {
  46. printf("cad %d tiene =%d palabras\n",j+1,cont);
  47. }
  48. }
  49. int palabras(char mosco[][B])
  50. {
  51. int cont,i=0,j=0;
  52.  
  53. for( ;i<T;i++)
  54. {
  55. cont=0;
  56. for(;j<T&&mosco[i]!='\0';j++)
  57. {
  58. if (i != ' ' || i!= '\n' || i!= '\t')
  59. cont++;
  60. }
  61.  
  62. }
  63.  
  64. }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: contador
« Respuesta #1 en: 25 Marzo 2015, 06:45 am »

linea 56, j debe ser menor que B (cantidad letras) y no T (cantidad de fases)

por otro lado en linea 55 reinicias cont, así que solo obtendrás el resultado de la ultima evaluada

linea 50 puede tampoco estar del todo bien ya que si tienes
"hola mundo cruel" contará solo 2

linea 24, es no recomendado, el uso de get, se recomienda el uso de fgets
https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
vivianfes

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: contador
« Respuesta #2 en: 25 Marzo 2015, 21:45 pm »

gracias ya por fin pude y checare el link muy amable :D

linea 56, j debe ser menor que B (cantidad letras) y no T (cantidad de fases)

por otro lado en linea 55 reinicias cont, así que solo obtendrás el resultado de la ultima evaluada

linea 50 puede tampoco estar del todo bien ya que si tienes
"hola mundo cruel" contará solo 2

linea 24, es no recomendado, el uso de get, se recomienda el uso de fgets
https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
contador
Programación Visual Basic
::: Devil ::: 4 2,184 Último mensaje 27 Mayo 2008, 04:37 am
por SKL (orignal)
contador de 0 a 99
Electrónica
gzdncs 9 18,029 Último mensaje 19 Junio 2010, 05:20 am
por gzdncs
Contador
Programación C/C++
Dumy 7 11,502 Último mensaje 27 Diciembre 2023, 04:13 am
por Sadistski
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines