cw4.txt

(1 KB) Pobierz
#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;
}

Zgłoś jeśli naruszono regulamin