Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int InputArray(const char *filename, int ***m, int **k, int *n)
  5. {
  6.     FILE *f;
  7.     int I, t, l;
  8.     char str[512], *s;
  9.  
  10.     f = fopen (filename, "r");
  11.     if (f == NULL) return -1;
  12.     for (*n=0; fgets(str, 512, f); (*n)++);
  13.     fclose(f);
  14.  
  15.     if (*n!=0)
  16.     {
  17.         f = fopen(filename, "r");
  18.         *m = (int**)malloc((*n)*sizeof(int*));
  19.         *k = (int*)malloc((*n)*sizeof(int));
  20.  
  21.         for (*n = 0; fgets(str, 512, f); (*n) += (*((*k)+(*n)) != 0))
  22.         {
  23.             for (I = 0; I < 2; I++)
  24.             {
  25.                 for (*((*k) + (*n)) = 0, s = str; sscanf(s, "%d%n", (I == 0? &t : *((*m)+(*n)) + *((*k)+(*n))), &l) == 1; (*((*k)+(*n)))++, s += l);
  26.                 if (I == 0 && *((*k)+(*n)) != 0) (*((*m)+(*n))) = (int*)malloc(*((*k)+(*n))*sizeof(int));
  27.             }
  28.         }
  29.         fclose (f);
  30.     }
  31.  
  32.     return 0;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement