Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: meu ubuntu 8.10
Por L3oN4rdo
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Comunidades

Comunidade Linux Home Participar da comunidade Linux Participar Fórum Linux Fórum Membros LinuxMembros RSS do fórum

<< Primeira | Anterior Próxima | Última >>

Gravar Matriz em um arquivo TXT

[1] Enviado em 27/06/2012 - 11:39h Gravar Matriz em um arquivo TXT
Linux user: Felipe Oliveira de Sena
felippesena

(usa Fedora)


Oi pessoal, eu gostaria de grava os dados da matriz em um arquivo txt, pois tenho que importar os dado para excel.

algo desse tipo:


1 2 3
4 5 6
7 8 9



#include <stdio.h>

main() {
  int i, j, matriz[3][3]; //Matriz 3x3.
  
  printf("\n==============MATRIZ 3x3==============\n");
  
  for (i=0; i<3; i++) {
    for (j=0; j<3; j++) {
     printf("\nDigite um valor para [%d][%d]: ", i+1, j+1);
     scanf("%d", &matriz[i][j]);
      
   }
    
  }
  
  printf("\n");
  
  for (i=0; i<3; i++) {
    for (j=0; j<3; j++) {
     printf("%d ", matriz[i][j]);
      
   }
    
   printf("\n");
    
  }
  

}


 

  


[2] Enviado em 27/06/2012 - 11:49h Re: Gravar Matriz em um arquivo TXT
Linux user: Daniel Lara Souza
danniel-lara

(usa Fedora)



procure não duplicar o tópico
bom assim
de uma lida


http://pt.wikibooks.org/wiki/Programar_em_C/Grava%C3%A7%C3%A3o_e_leitura_em_arquivos
espero que ajude

 

[3] Enviado em 27/06/2012 - 15:46h Re: Gravar Matriz em um arquivo TXT
Linux user: Perfil removido
removido

(usa Nenhuma)


adicione ao seu código:


FILE *pArq;
int nLin, nCol;
/*
.
.
.
*/
if((pArq = fopen("Matriz", "w")) == 0x0) {
   printf("erro.");
   exit(1);
}

for(i=0; i<nLin; i++) {
   for(j=0; j<nCol; j++)
      fprintf(pArq, "%d\t", matriz[i][j]);

fprintf(pArq, "\n");
}

if(fclose(pArq)) {
   printf("erro.");
   exit(1);
}


dê uma lida no material que o Daniel postou para entender as funções.

 

[4] Enviado em 01/07/2012 - 22:07h Re: Gravar Matriz em um arquivo TXT
Linux user: Listeiro 037
Listeiro 037

(usa Outra)


Para o Excel ler o arquivo, não ficaria melhor aquele formato com campos separados por vírgulas?
É extensão .csv, não é?

 

[5] Enviado em 02/07/2012 - 11:28h Re: Gravar Matriz em um arquivo TXT
Linux user: Felipe Oliveira de Sena
felippesena

(usa Fedora)


vc tem alguma dica como gravar no arquivo o ponto e virgula entre os dados ?

Exemplo
1 ; 2 ; 3
4 ; 4 ; 6
7 ; 8 ; 9


 

[6] Enviado em 02/07/2012 - 11:35h Re: Gravar Matriz em um arquivo TXT
Linux user: Perfil removido
removido

(usa Nenhuma)


nesse caso gera um arquivo-texto, se você executá-lo no windows provavelmente precisará adicionar .txt ao final do nome do arquivo:
fopen("Matriz.txt", "w")

para abrir no Excel basta usar o assistente de importação de texto do mesmo.

 

[7] Enviado em 02/07/2012 - 14:57h Re: Gravar Matriz em um arquivo TXT
Linux user: Perfil removido
removido

(usa Nenhuma)


não há necessidade de inserir uma vírgula entre os campos pois a tabulação já é um delimitador, observe o \t em fprintf().

 

[8] Enviado em 02/07/2012 - 15:10h Re: Gravar Matriz em um arquivo TXT
Linux user: Listeiro 037
Listeiro 037

(usa Outra)


felippesena escreveu:

vc tem alguma dica como gravar no arquivo o ponto e virgula entre os dados ?

Exemplo
1 ; 2 ; 3
4 ; 4 ; 6
7 ; 8 ; 9


Dentro do loop a vírgula só pode ser escrita se não for final de linha de matriz.
Senão é escrita mudança de linha.

if (contador==última_coluna) fprint (...,"\n",...);
else fprint (...,";",...);

Isso pode até ser resolvido com operador ternário.
O tal do "() ? () : ();"

fprint (...,contador==última_coluna?"\n":";",...)

Confira a necessidade de se usar aspas duplas de strings ou simples de caracteres.

 

  
<< Primeira | Anterior Próxima | Última >>
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.