#include <stdio.h> #include <stdlib.h> double** alokuj(int n); int zwolnij(double **tablica, int n ); int wczytaj(FILE* fp, double** tablica, int n); void wyswietl(double** tablica , int n); double suma(double** tablica, int n); int n1(double** tablica, int n); int n2(double** tablica, int n); int n3(double** tablica, int n); int main(int argc, char* argv[]) { double **tablica; int n; if(argc != 2) return 0; FILE* fp; fp = fopen(argv[1], "r"); fscanf(fp,"%d",&n); tablica = alokuj(n); wczytaj(fp , tablica, n); wyswietl(tablica, n); printf("%lf", suma(tablica, n)); return 1; } double** alokuj(int n) { int i; double** tablica; tablica = (double**)malloc(n*sizeof(double*)); for( i=0 ; i<n ; i++ ) { tablica[i] = (double*)malloc(n*sizeof(double)); } return tablica; } int zwolnij(double** tablica , int n) { int i; for(i=0 ; i<n ; i++) { free(tablica[i]); } free(tablica); return 1; } int wczytaj(FILE* fp, double** tablica, int n) { int i; int j; double l; for(i=0; i<n; i++) { for(j=0; j<n; j++) { fscanf( fp , "%lf" , &tablica[i][j] ); } } return 1; } void wyswietl(double** tablica, int n) { int i; int j; for(i=0; i<n; i=i+1) { //printf("\n[\t"); for( j=0 ; j<n ; j=j+1 ) { printf("%1.0lf\t" , tablica[i][j]); } printf("\n"); } printf("\n"); } double suma(double** tablica, int n) { int i; double s=0; for(i=0; i<n; i++) { s=+tablica[i][i]; } return s; }
mendieta