Кресты / Говнокод #817 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 guest, (Updated )

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

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

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8