Cod sursa(job #792362)

Utilizator asem_cristianCristian Petcu asem_cristian Data 26 septembrie 2012 23:48:59
Problema Text Scor 0
Compilator c Status done
Runda asem-etapa1 Marime 1.3 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
	FILE * stream;
	char list[255];
	int numread;

	if ((stream = fopen("text.in", "r+t")) != NULL)
	{
		/* Citim caracterele di fisier */
		numread = fread(list, sizeof(char), 255, stream);
		printf("Number of items read = %d\n", numread);
		printf("Contents of buffer = %.25s\n", list);
		fclose(stream);
	}
	else
	{
		printf("File could not be opened\n");

		return 0;
	}

	/*Aflam cite cuvinte sunt*/
	int words = 0, k = 0, n = 0;
	char kw;

	for (k = 0; k <= numread; k++)
	{
		kw = list[k];

		if ((kw >= 'A' && kw <= 'Z') || (kw >= 'a' && kw <= 'z'))
		{
			n++;
		}
		else
		{
			if (n > 0) words++;

			n = 0;
		}
	}

	int count = getCharacters(list, numread);

	/*Calculam media si extragem in fisier*/
	int media; FILE *fp;

    media = count / words;

    fp = fopen ( "text.out","w" );
    if( fp == NULL )
    {
        puts ( "cannot open file" );
        exit(1) ;
    }


    fprintf(fp,"%d", media );

    fclose(fp);

	return 0;
}

int getCharacters(char i[], int size){
    char l;
    int j, c = 0;

    for (j = 0; j <= size; j++)
    {
        l = i[j];

        if ((l >= 'A' && l <= 'Z') || (l >= 'a' && l <= 'z'))
        {
            c++;
        }
	}

    return c;
}