Ir ao conteúdo
  • Cadastre-se

Dalmarg

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

  1. Como eu disse, sempre procure trabalhar com 2 memória iguais, entre 1x8 e 2x4, 2x4 é INDISCUTIVELMENTE melhor. Claro que se você tiver condições 2x8 é melhor que 2x4, óbvio.
  2. @kgin Então, eu entendi seu programa, mas não consegui implementa-lo na ideia. Pois seu programa apenas separa as palavras. Minha intenção é ler as palavras já registrando na lista e contar a ocorrência de repetições da mesma.
  3. Sim, ter 4x4 é mais vantajoso ele trabalha melhor pelo motivo explicado.
  4. Geralmente é melhor utilizar 2x já que é vantajoso utilizar a duas memórias pois os dados correm em paralelo, então a quantidade de informação que trafega entre a RAM e a CPU dobra. Isso costuma dar bastante diferença em cenários onde o gargalo do sistema é, justamente, as informações trafegando entre a CPU e a RAM Agora se você estiver pensando em dar um upgrade futuro para ter 2x8 melhor já economizar na compra.
  5. Eu estou tentando fazer um programa em C que leia um arquivo-texto e grave em outro arquivo uma estatística de palavras. Cada palavra lida, deverá ser inserida em uma lista, sem repetição. Cada nó dessa estrutura deve ter um contador de ocorrência. No arquivo de saída a sequência de palavras deverá em ordem decrescente de ocorrências. Fiz um programa base que deveria ler e inserir na lista, porém não esta funcionando. Queria ajuda por favor. #include <stdio.h> #include <stdlib.h> #include <string.h> //Declaração da estrutura usada no programa. typedef struct palavras{ char palavra[100]; int quantidade; struct palavras *prox; }palavras; int main(){ //Variaveis palavras *primeiro=NULL, *aux=NULL, *percorre=NULL; char string[100], ch[0]; int total=0; //Abrindo o arquivo FILE* arquivo = fopen("teste.txt", "r"); if(arquivo == NULL) { fprintf(stderr, "Erro ao abrir o arquivo.txt."); return 1; } //Lendo a primeira palavra do arquivo while(1){ strcat(string,ch); ch[0]= fgetc(arquivo); if(ch[0]==' '||ch[0]=='\n'||ch[0]=='\t') break; } printf("%s",string); //Guardando a primeira palavra em um nó de uma lista encadeada. primeiro= (palavras*)malloc(sizeof(palavras)); strcpy(primeiro->palavra,string); primeiro->quantidade=0; primeiro->prox=NULL; // while(!feof(arquivo)){ if((ch[0]==' ')||(ch[0]=='\n')||(ch[0]=='\t')){ for(percorre=primeiro; percorre!=NULL; percorre=percorre->prox){ if(strcmp(string,percorre->palavra)==0){ percorre->quantidade++; strcpy(string,""); break; } if(percorre->prox==NULL && strcmp(string,"")!=0){ aux= primeiro; primeiro= (palavras*)malloc(sizeof(palavras)); primeiro->quantidade= 1; strcpy(primeiro->palavra, string); primeiro->prox= aux; strcpy(string,""); } } }else{ strcat(string,ch); } ch[0]= getc(arquivo); } // for (percorre=primeiro; percorre!=NULL; percorre= percorre->prox){ total= total + percorre->quantidade; printf("%s - %d\n", percorre->palavra, percorre->quantidade); } // printf("\nO texto cont%cm %d palavras.\n", 130,total); fclose(arquivo); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!