1. C++ / Говнокод #817

    +142.8

    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
    #include <stdio.h>
    #include <alloc.h>
    
    #define PRINT_RESULT {for(cheacksum1=0,i=MaxV-1;i>=0;cheacksum1+=vect[i--]);for(j=i=cheacksum2=0;j<MaxA;i<MaxA?cheacksum2+=mass[j][i++]:(j++,i=0));printf("CHEACKSUM: %d <-> %d\n",cheacksum2,cheacksum1);}
    
    int main(void)
    {
        int **mass,*vect,MaxV,MaxA,x,y,i,j,z,k,l,s,m,cheacksum1,cheacksum2;
        MaxV *= MaxV = MaxA = 200; 
        for(i=0,vect=(int*)malloc(sizeof(int)*MaxV),mass=(int**)malloc(sizeof(int*)*MaxA);i<MaxA;mass[i++]=(int*)malloc(sizeof(int)*MaxA));
        for(i=0,j=0;i<MaxA;j<MaxA?mass[i][j++]=rand()%10:(i++,j=0));
        /* A */ for(y=z=j=0,i=x=MaxA-1;y<MaxA;(j>=MaxA||i>=MaxA?((x>0?x--:y++),i=x,j=y):vect[z++]=mass[i++][j++]));
        PRINT_RESULT;
        /* B */ for(y=x=z=j=i=0;y<MaxA;(j>=MaxA||i<0?((x<MaxA-1?x++:y++),i=x,j=y):vect[z++]=mass[i--][j++]));
        PRINT_RESULT;
        /* C */ for(s=z=k=0,l=1,m=x=y=MaxA%2==0?m=x=y=MaxA/2-1:MaxA/2;x<MaxA&&y<MaxA&&x>=0&&y>=0;k++<l?vect[z++]=mass[s==1?y++:s==3?y--:y][s==0?x++:s==2?x--:x]:(k=0,s++<3?(s==2?l++:0):(s=0,l++)));
        PRINT_RESULT;
        /* D */ for(z=x=y=k=0,s=-1,l=MaxA-1;l>=0;l>0?k++<l?vect[z++]=mass[s==0?y++:s==2?y--:y][s==1?x--:s==0||s==2?x:x++]:(k=0,s++<3?(s==2?l--:0):(s=0,l--)):(vect[z]=mass[y][x],l--));
        PRINT_RESULT;
        for(x=0;x<MaxA;free(mass[x++])); free(vect); free(mass);
        return 0;
    }

    Лабораторная работа (давно было дело... не помню, окончательная версия или нет) :]

    Обход матрицы и запись результата обхода в одномерный массив.
    а) по правой диагонали начиная с правого верхнего
    элемента
    б) с левого верхнего.
    с) по сперали
    д) по сперали начниная с левого верхрего элемента.

    Запостил: guest, 06 Апреля 2009

    Комментарии (4) RSS

    • [quote=ГовноРусскийЯзык]с) по сперали
      д) по сперали начниная с левого верхрего элемента.[/quote]
      Спираль пишется через и
      Ответить
    • ы:
      Я копировал 1:1 ;) задание писал препод.
      Ответить
    • Капитан Очевидность:
      т.е. это еще говнопрепод и говноунивер? :))
      Ответить
    • и говностудент, который не смог исправить говноошибки, прежде чем срать сюда
      Ответить

    Добавить комментарий