Ir ao conteúdo
  • Cadastre-se

GuilhermeFiorezi

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Estou tendo dificuldade em um programa onde tenho que ler um arquivo .mtx vindo da internet que possui dados de uma matriz qualquer, onde todos esses arquivos tem um cabeçalho que começa com o símbolo de porcentagem(%). Estava pensando em fazer uma comparação do primeiro caractere da linha com o símbolo "%" e que se fosse verdade, começasse a ler a linha logo abaixo no arquivo ( como eu passo para a leitura da próxima linha ignorando o resto da linha de onde encontrei o % como primeiro caractere). O código ainda está no início do desenvolvimento mas é o que tem: #include <stdio.h> #include <stdlib.h> #include <string.h> // Funções struct inf_matriz{ char nome[30]; int m; int n; int nnz; }; struct inf_matriz tela_inicial(){ struct inf_matriz retornainf; char ch, ch2 ='%'; printf("-----------------------------------------\n"); printf(" Trabalho de Algoritmos Numericos\n"); printf("-----------------------------------------\n"); AQUI: printf("\nDigite o nome do arquivo da matriz a ser carregada(com .mtx):\n"); scanf("\n%[^\n]", retornainf.nome); FILE *arq_matriz = fopen(retornainf.nome,"r"); if(arq_matriz == NULL){ printf("Arquivo nao encontrado ou nao existente! Tente novamente."); goto AQUI; } else{ fscanf(arq_matriz,"%c", &ch); printf("%c", ch); if(ch == ch2){ // como pula pra próxima linha ( lendo os número 3312 3312 20793 do exemplo do arquivo abaixo)? } fscanf(arq_matriz,"%d %d %d", &retornainf.m, &retornainf.n, &retornainf.nnz); fclose(arq_matriz); return retornainf; } } int main(){ struct inf_matriz dadosA; dadosA = tela_inicial(); printf("\n-----------------------------------------\n"); printf(" Dados da Matriz '%s' aberta:\n", dadosA.nome); printf(" m:%d\n"" n:%d\n" " nnz:%d\n", dadosA.m, dadosA.n, dadosA.nnz); printf("-----------------------------------------\n"); double **matrizA; matrizA = (double**)calloc(dadosA.n,sizeof(double*)); return 0; } OBS: não consigo mandar os arquivos de texto das matrizes por serem de formato ''.mtx'', mas o padrão dos arquivos é mais ou menos como o abaixo: %%MatrixMarket matrix coordinate real general 3312 3312 20793 1 1 1.0000000000000e+00 2 2 1.0000000000000e+00 3 3 1.0000000000000e+00 4 4 1.0000000000000e+00 5 5 1.0000000000000e+00 6 6 1.0000000000000e+00 ...

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...