Ir para conteúdo
Fórum Script Brasil

FaiscaroX

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por FaiscaroX

  1. Você está contando o total de espaços, não o total de palavras. Como em uma lista de n palavras há n - 1 separadores, o correto seria acrescentar 1 no total mesmo. Seria mais ou menos como contar o número de vírgulas em uma lista de números (se há 4 vírgulas, é porque foram listados 5 números).

    Valeu brother, coloquei pra inserir um a mais com uma comparação de condição!

    Segue como ficou:

    /*
      Name: Cassio Oliveira Lopes
      Date: 23/05/12 08:36
    */
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {
        char arquivo;
        FILE *arq;
        int count = 0;
        int flag = 0;
    
        if ((arq=fopen("Exercicio 2.txt", "r"))==NULL)
        {
            printf("ERRO! Arquivo invalido");
            exit(1);
        }
            
        while(!feof(arq))
        {
            arquivo = getc(arq);
            if (arquivo == ' ' || arquivo == '\n')
            {
                if (flag == 0)
                {
                    count++;
                    flag = 1;
                }
            }
            else
            {
                if ( flag == 1 )
                    flag = 0;
            }
        }
        if(count >= 1)
        count++;
        
        fclose(arq);
        printf("Total de palavras: %d\n", count);
        system("pause");
        return (0);
    }

  2. Bom dia,

    Estou fazendo um exercício sobre manipulação de arquivos, porém estou com uma dificuldade, o meu contador tá contando sempre 1 a menos, no caso ele deveria apontar 14 palavras, mas só aponta 13, já testei varias frases e palavras e ainda não consegui encontrar a solução.

    Alguém poderia me dar uma luz, do que foi tratado errado?

    O que consta no meu arquivo Exercicio 2.txt no momento e a seguinte frase repetida:

    E preciso viver e não apenas existir

    E preciso viver e não apenas existir

    Total de palavras: 14

    Total de palavras que o programa me retorna: 13

    /*
      Name: Cassio Oliveira Lopes
      Date: 23/05/12 08:36
    */
    
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {
        char c;
        FILE *fp;
        int count = 0;
        int flag = 0;
    
        if ((fp=fopen("Exercicio 2.txt", "r"))==NULL)
        {
            printf("ERRO! Arquivo invalido");
            exit(1);
        }
    
        while(!feof(fp))
        {
            c = getc(fp);
            if ( c == ' ' || c == '\n' )
            {
                if (flag == 0)
                {
                    count++;
                    flag = 1;
                }
            }
            else
            {
                if ( flag == 1 )
                    flag = 0;
            }
        }
        fclose(fp);
    
        printf("Total de palavras: %d\n", count);
        system("pause");
        return (0);
    }

    Agradeço qualquer ajuda!

    Abraços!

×
×
  • Criar Novo...