Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int WierszeMacierzy(char* skad ){
  6.    
  7.     FILE *fp;
  8.  
  9.     int i;
  10.  
  11.     if((fp=fopen(skad,"r"))==NULL){
  12.         printf("Błąd otwarcia pliku.\n");
  13.         exit(1);
  14.     }
  15.  
  16.     fscanf(fp,"%d",&i);
  17.    
  18.    
  19. fclose(fp);
  20.    
  21. return i;
  22. }
  23.  
  24. int KolumnyMacierzy(char* skad ){
  25.    
  26.     FILE *fp;
  27.  
  28.     int i;
  29.  
  30.     if((fp=fopen(skad,"r"))==NULL){
  31.         printf("Błąd otwarcia pliku.\n");
  32.         exit(1);
  33.     }
  34.  
  35.     fseek(fp,2,0);
  36.     fscanf(fp,"%d",&i);
  37.    
  38.    
  39. fclose(fp);
  40.    
  41. return i;
  42. }
  43.  
  44. float ** alokuj(int wiersze, int kolumny){
  45.     float ** tablica = NULL;
  46.     int w, k;
  47.    
  48.     tablica = (float **)calloc(wiersze, sizeof(float *));
  49.     for (w=0; w<wiersze; w++)
  50.         *(tablica+w) = (float*) calloc(kolumny, sizeof(float));
  51.        
  52. return tablica;
  53. }
  54.  
  55. void wypelnij(float** tablica, int wiersze, int kolumny, char* skad){
  56.    
  57.     FILE *fp;
  58.    
  59.     if((fp=fopen(skad,"r"))==NULL){
  60.         printf("Błąd otwarcia pliku.\n");
  61.         exit(1);
  62.     }
  63.     fseek(fp,3,0);
  64.    
  65.     int w, k;
  66.     char Tmp=0;
  67.         for (w=0; w<wiersze; w++){
  68.             for(k=0; k<kolumny; k++){
  69.                
  70.                 *(*(tablica+w)+k) =
  71.             }
  72.         }
  73. fclose(fp);    
  74. return;
  75. }
  76.  
  77. void drukuj(float** tablica, int wiersze, int kolumny){
  78. int w, k;
  79.  
  80.     for (w=0; w<wiersze; w++){
  81.         for(k=0; k<kolumny; k++){
  82.             printf("%1.1f ", *(*(tablica+w)+k));
  83.             }
  84.         printf("\n");
  85.         }
  86.        
  87. return;
  88. }
  89.  
  90. void zwolnij(float ***tablica, int wiersze){
  91. int w;
  92.  
  93.     for (w=0; w<wiersze; w++){
  94.         free(*((*tablica)+w));
  95.     }
  96.    
  97. free(*tablica);
  98. *tablica = NULL;
  99.  
  100. return;
  101. }
  102.  
  103.  
  104. int main(){
  105.    
  106.     int wiersze, kolumny;
  107.     char sciezka[10];
  108.    
  109.     printf("Podaj sciezke pliku:\n");
  110.     scanf("%s",&sciezka);
  111.    
  112.    
  113.     wiersze=WierszeMacierzy(sciezka);
  114.     kolumny=KolumnyMacierzy(sciezka);
  115.    
  116.    
  117.     float ** tab = alokuj(wiersze, kolumny);
  118.             wypelnij(tab, wiersze, kolumny, sciezka);
  119.             drukuj(tab, wiersze, kolumny);
  120.             zwolnij(&tab, wiersze);
  121.    
  122.  
  123. return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement