Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: carlosbds4 en 2 Diciembre 2012, 16:29 pm



Título: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: carlosbds4 en 2 Diciembre 2012, 16:29 pm
hola necesito un programa que me diga cuantos espacios en blanco hay en una frase por ejemplo

hola me llamo carlos
son 4 espacios en blanco
pero no me sale :( me pordrian ayudar esto es lo k llevo

#include <stdio.h>

/* cuenta dígitos espacios blancos*/
main()
{
  int c, i, nwhite, nother;
  int ndigit[19];

  nwhite = nother = 0;
  for (i = 0; i < 10; ++i)
    ndigit = 0;
  while ((c = getchar()) != EOF)
    if (c >= '0' && c <= '9')
      ++ndigit[c-'0'];
    else if (c == ' ' || c == '\n'
      || c == '\t')
      ++nwhite;
    else
      ++nother;
  printf ("dígitos =");
  for (i = 0; i < 10; ++i)
          printf(" %d", ndigit);
      printf(", espacios blancos = %d, otros = %d\n", nwhite, nother);
}


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: avesudra en 2 Diciembre 2012, 16:46 pm
Hola carlosbds4 , la lógica de tu programa está perfecta , sólo que tenías un error en la línea 11, antes la tenías así:

Código
  1. ndigit = 0;
Y la correcta es así:
Código
  1. #include <stdio.h>
  2.  
  3. /* cuenta dígitos espacios blancos*/
  4. int main()
  5. {
  6.    int c, i, nwhite, nother;
  7.    int ndigit[19];
  8.  
  9.    nwhite = nother = 0;
  10.    for (i = 0; i < 10; ++i)
  11.        ndigit[i] = 0;
  12.    while ((c = getchar()) != EOF)
  13.        if (c >= '0' && c <= '9')
  14.            ++ndigit[c-'0'];
  15.        else if (c == ' ' || c == '\n'
  16.                 || c == '\t')
  17.            ++nwhite;
  18.        else
  19.            ++nother;
  20.    printf ("dígitos =");
  21.    for (i = 0; i < 10; ++i)
  22.        printf(" %d", ndigit);
  23.    printf(", espacios blancos = %d, otros = %d\n", nwhite, nother);
  24. }


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: rir3760 en 2 Diciembre 2012, 17:26 pm
Hola carlosbds4 , la lógica de tu programa está perfecta , sólo que tenías un error en la línea 11
Esa sentencia esta bien, no se ve porque no utilizo las etiquetas de código y por ello el texto aparece en cursiva.

----

hola necesito un programa que me diga cuantos espacios en blanco hay en una frase por ejemplo

hola me llamo carlos
son 4 espacios en blanco
pero no me sale :( me pordrian ayudar esto es lo k llevo
No quiero sonar grosero pero ese programa es uno de los primeros ejemplos del libro "The C Programming Language".

Supongamos por un momento que, por alguna extraña coincidencia, tu terminas con el mismo programa. Bueno, si lo hiciste tu debes saber muy bien como cuenta los caracteres porque ... los cuenta correctamente. Las modificaciones para contar solo las ocurrencias del carácter ' ' son menores.

Un saludo


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: carlosbds4 en 4 Diciembre 2012, 04:18 am
no sabia de se libro XD pero dime como hacer el porgrama plizz


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: leosansan en 4 Diciembre 2012, 12:12 pm
Código
  1. #include <stdio.h>
  2. main()
  3. {
  4.    int i=0,n=0;
  5.    char cadena [256];
  6.    printf ("Escriba la frase: ");
  7.    fgets (cadena,256,stdin);
  8.    while (cadena[i++]!='\0'){
  9.        if (cadena[i]==' ') n++;
  10.    }
  11.    printf ("\n%d",n);
  12.    return 0;
  13. }
Saluditos!.


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: rir3760 en 4 Diciembre 2012, 15:36 pm
@leosansan: el programa que publico es un ejemplo tomado del libro K&R2, por favor no hagas su tarea (esta en las reglas).

Un saludo


Título: Re: ayúdenme programa que cuente los espacios en blaco que hay
Publicado por: leosansan en 5 Diciembre 2012, 10:34 am
@leosansan: el programa que publico es un ejemplo tomado del libro K&R2, por favor no hagas su tarea (esta en las reglas).
Sorry, pensé que al haber posteado código iba perdido oc confundido. Tampoco estoy seguro que mi código sea estrictamente aceptable, es sólo una opción.
Pero lo tendré en cuenta para otra ocasión.
Saluditos!.