Ir ao conteúdo
  • Cadastre-se

falta terminar este codigo


mariafernanda

Posts recomendados

#include <stdio.h>#include <stdlib.h>int main(){    FILE *p;    int lin, col;    int mat[3][3];    p = fopen ( "matriz.txt", "w" );        if ( !p ){        perror("Erro: ");        getchar();        exit ( EXIT_FAILURE );    }        for ( lin = 0; lin < 3; lin++ ){        for ( col = 0; col < 3; col++ ) {            printf ( "matriz[%d][%d]=", lin + 1, col + 1 );            scanf ( "%d", &mat[lin][col] );        }    }    for ( lin = 0; lin < 3; lin++ ){        for ( col = 0; col < 3-1; col++ ) {            fprintf(p, "%d ",mat[lin][col] );        }        fprintf(p, "%d\n",mat[lin][col] );    }           fclose ( p );    return 0;}

preciso criar uma sub rotina que leia o arquivo mat.txt que foi criado e depois ao final a soma dos elementos desta matriz.

obs: Usar fprintf e fscanf

 

Link para o comentário
Compartilhar em outros sites

O código que coloquei acima esta certo ta gravando a matriz txt normal, beleza.

 

neste mesmo código preciso que ele faça isso

 

neste mesmo código que foi criado tem que criar uma  sub rotina que leia o arquivo mat.txt que foi criado e depois ao final a soma dos elementos desta matriz.

obs: Usar fprintf e fscanf.

Link para o comentário
Compartilhar em outros sites

Boa noite Vangodp, tudo bem, estou sim tentando mais só consigo gravar a matriz não consigo e não sei direito como criar uma sub rotina que imprima a soma dos elementos da matriz, e estou tentando sim resolver segue meu código ate o momento mais não saio de onde estou parada.

#include <stdio.h>#include <stdlib.h>int main(){    FILE *p;    int lin, col;    int mat[3][3];    p = fopen ( "matriz.txt", "w" );    if ( !p ){        perror("Erro: ");        getchar();        exit ( EXIT_FAILURE );    }    for ( lin = 0; lin < 3; lin++ ){        for ( col = 0; col < 3; col++ ) {            printf ( "matriz[%d][%d]=", lin + 1, col + 1 );            scanf ( "%d", &mat[lin][col] );        }    }    for ( lin = 0; lin < 3; lin++ ){        for ( col = 0; col < 3-1; col++ ) {            fprintf(p, "%d ",mat[lin][col] );        }        fprintf(p, "%d\n",mat[lin][col] );    }    fclose ( p );int main(){ system ("A soma dos elementos da matriz e"); int matriz [ 3 ] [ 3 ] ;int i, j; FILE *arq = fopen("matriz.txt", "r" ); if ( arq == NULL ){  printf("Problemas na abertura do arquivo ");  getche();  return (0); } for ( i = 0; i < 3; i++ ) {  for ( j = 0; j < 3; j++ ) {   fscanf( arq, "%3d", &matriz [ i ] [ j ] );   printf(" %3d ", matriz [ i ] [ j ]  );  }  printf("\n"); } fclose(arq); getche();}    return 0;}
Link para o comentário
Compartilhar em outros sites

Fiz mais algumas modificações no código mais preciso inserir uma sub-rotina nele. e a impressão da matiz ta ok mais a soma não da certo.

#include <stdio.h>#include <stdlib.h>int main() {    FILE *p;    int lin, col;    int mat[3][3];    int i, j, soma = 0, num;    p = fopen ( "matriz.txt", "w" );    if ( !p ) {        perror ( "Erro: " );        getchar();        exit ( EXIT_FAILURE );    }    for ( lin = 0; lin < 3; lin++ ) {        for ( col = 0; col < 3; col++ ) {            printf ( "matriz[%d][%d]=", lin + 1, col + 1 );            scanf ( "%d", &mat[lin][col] );        }    }    for ( lin = 0; lin < 3; lin++ ) {        for ( col = 0; col < 3 - 1; col++ ) {            fprintf ( p, "%d ", mat[lin][col] );        }        fprintf ( p, "%d\n", mat[lin][col] );    }    fclose ( p );        int matriz [3] [3];        p = fopen ( "matriz.txt", "r" );        if ( !p ) {            perror ( "Erro: " );            getchar();            exit ( EXIT_FAILURE );        }        system("pause");system("cls");printf("\nA MATRIZ DIGITADA E:\n");        for ( i = 0; i < 3; i++ )            {            for ( j = 0; j < 3; j++ ) {                fscanf ( p, "%d", &matriz [ i ] [ j ] );                printf ( " %3d ", matriz [ i ] [ j ] );            }            printf ( "\n" );        }        for ( i = 0; i < 3; i++ ) {  for ( j = 0; j < 3; j++ ) {fscanf(p, "%d");mat [i][j] = num;soma = mat [i][j];  }  fprintf("a soma e: %3d", soma); }        fclose ( p );fclose ( p );    return 0;}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!