Advertisement
Martupi8

EA

Nov 24th, 2019
1,036
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.73 KB | None | 0 0
  1. void aplicaEj1(char* file){
  2.     iterator it = file_iterable_pchar(file);
  3.     while (iterable_has_next(&it)){
  4.         char *linea = (char*) iterable_next(&it);
  5.         printf("La matriz: %s\n", linea);
  6.         list listaComp = list_empty(list_type);
  7.         int **array;
  8.         iterator it1 = split_iterable_pchar(linea, ",");
  9.         while(iterable_has_next(&it1)){
  10.             list listaFila = list_empty(int_type);
  11.             char *fila = (char*) iterable_next(&it1);
  12.             printf("%s\n", fila);
  13.             iterator it2 = split_iterable_pchar(fila, " {}");
  14.             while(iterable_has_next(&it2)){
  15.                 char *elem = (char*) iterable_next(&it2);
  16.                 int x = int_parse_s(elem);
  17.                 list_add(&listaFila,&x);
  18.             }
  19.             list_add(&listaComp, &listaFila);
  20.         }
  21. //      char delim[] = ",";
  22. //      char *ptr = strtok(linea, delim);
  23. //      while(ptr != NULL){
  24. //          list listaFila = list_empty(int_type);
  25. ////            ptr[strlen(ptr)-1]='\0';
  26. ////            ptr++;
  27. //          char delim2[] = " {}";
  28. //          char *ptr2 = strtok(ptr, delim2);
  29. //          while(ptr2 != NULL){
  30. //              int x = int_parse_s(ptr2);
  31. //              list_add(&listaFila, &x);
  32. //              ptr2 = strtok(NULL, delim2);
  33. //          }
  34. //          list_add(&listaComp, &listaFila);
  35. //          ptr = strtok(NULL, delim);
  36. //      }
  37.         int n = listaComp.size;
  38.         array = malloc(n*sizeof(int*));
  39.         for(int i=0; i<n; i++){
  40.             array[i] = malloc(n*sizeof(int));
  41.             for(int j=0; j<n;j++){
  42.                 list* fila = (list*) list_get(&listaComp, i);
  43.                 array[i][j] = *(int*) list_get(fila, j);
  44.             }
  45.         }
  46.  
  47.         for (int i=0; i<n; i++){
  48.                 for(int j=0; j<n; j++){
  49.                     printf("%d\n", *(*(array+i)+j));
  50.                 }
  51.             }
  52.  
  53.         if(arrayCumple(array, n)){
  54.             printf("Cumple la propiedad\n");
  55.         }
  56.         else{
  57.             printf("NO cumple la propiedad\n");
  58.         }
  59.     }
  60. }
  61.  
  62. int main(void) {
  63.     aplicaEj1("ficheros/PI2Ej1DatosEntrada.txt");
  64.     return EXIT_SUCCESS;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement