Contar caracteres en C

RikuTheRonin

Tengo que hacer un programa que cuente el numero de caracteres, palabras y lineas de una frase, y no se por donde cojerlo XD

¿Alguna ayuda?

mryitan

pos en C no se... xro si te sirve de algo para programacion en pascal tuve k acer un programa muy parecido a ese... y te digo mas o menos como lo hice ...

pues en pascal con el comando Read(algo) te lee ese algo, xro si despues del algo pones ,C ntonces te lee de ese fichero algo caracter a caracter ... no se si en C habra algo parecido..

despues pa contar palabras.. lo k yo hice fue k fuera leyendo hasta k llegara a un espacio, una vez k llegue a espacio... sumas uno a un contador de palabras ya definido y sigue leyendo asta k sea final de fichero (eof en pascal ) y cuando es final de fichero pues suma 1 al contador de lineas...

pos eso k pa contar palabras hasta llegar a un espacio y lineas asta final de fichero y carac a carac pos no se

suerte y espero servirte de algo de ayuda

ChemicalX

si metes todo en un string es como dice mryitan, cada vez q haya un espacio sumas 1 a un contador q te montes xD

haz un bucle hasta el final del string y controla que:
a)cada vez q hay un espacio sumas 1 al contador de palabras
b)cada vez q el contador del bucle se mueva sumas 1 al contador de caracteres siempre y cuando en la nueva posicion no haya un espacio
c)cuando llegue a X caracteres(los que haya por linea) sumas 1 al contador de lineas

A ver si asi puedes hacer algo, puede lo q te haya dicho solo basura creada por un triste proyecto de programador

LoRTH

Agrega la libreria string.h, y la funcion es strlen();

Eso te cuenta todo lo que haya hasta el \0.

Para contar palabras, pos como te han dicho ahi, y suponiendo que el maximo de carateres es 100, podria ser algo asi:

extraepalabras(char cadena[100]){
int i=0, j=0;
while (i<=100){
if(cadena==' '){
j++;
}
i++;
}
return j
}


No lo he probado, y no se si funciona, pero seria algo asi

LOc0


#include <stdio.h>
#include <string.h>

#define TAM_LINEA 40
#define TAM_TEXTO 200

void main()
{

char texto[TAM_TEXTO];
int contador, palabras=1;

printf("\n\tEscribe un texto de %d caracteres como maximo. :\n\t", TAM_TEXTO);

gets(texto);

contador=0;
while(contador<strlen(texto))
{

if(texto[contador]==' ' && texto[contador-1]!=' ' && contador>0)
palabras++;

contador++;

}

printf("\n\n\tHay: %d caracteres, %d palabras y %d lineas" strlen(texto), palabras, (caracteres/TAM_LINEA));

}

Salu2 ;)

LiuM

Todo depende, de un string o de un fichero?

RikuTheRonin

^
|
De una cadena de caracteres que meta por teclado el usuario (u sea se, yo xD)

Gandalf530

con la kbhit tal vez usando un bucle?

L

ese LoRTH esta todo echo un H@cKeR

Usuarios habituales

  • lolmen
  • RikuTheRonin
  • LiuM
  • LOc0
  • LoRTH
  • ChemicalX
  • mryitan