1. Список говнокодов пользователя Kusok

    Всего: 1

  2. Си / Говнокод #20048

    −49

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    int show_matrix(IN const matrix *in_matrix){
      return walk_on_matrix(transmit_params(in_matrix,UNUSED, UNUSED), show);
    }
    
    typedef void (*action)(int, int, iomatr);
    
    int walk_on_matrix(iomatr matr, action foo){
      if(matrix_exists(matr.in_matrix) || matrix_exists(matr.out_matrix)){
        int n_rows = matrix_exists(matr.in_matrix) ? matr.in_matrix->n_rows : matr.out_matrix->n_rows;
        int n_columns = matrix_exists(matr.in_matrix) ? matr.in_matrix->n_columns : matr.out_matrix->n_columns;
        for(int i = 0; i < n_rows; i++){
          for(int j = 0; j < n_columns; j++){
            foo(i, j, matr);
          }
        }
        return true;
      }
      else{}
      return false;
    }
    
    iomatr transmit_params(const matrix *in_matrix, matrix *out_matrix, void *param){
      return (iomatr) { in_matrix, out_matrix, param};
    }
    
    typedef struct{
      IN const matrix *in_matrix;
      OUT matrix *out_matrix;
      void *param;
    }iomatr;

    Не искать легких путей

    Kusok, 20 Мая 2016

    Комментарии (3)