1. Pascal / Говнокод #9101

    +84

    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
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    {$N+}
    const
    n=5;
    n2=2*n;
    type tRow=array[1..n] of 0..1;
    rRow=array[1..n] of 0..1;
    type tMatrix=array[1..n,1..n2] of double;
    wMatrix=array[1..n,1..n2] of double;
    procedure NewMatrix(var a: tMatrix; n,n2: word; x: double);           var           i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  a[i,j]:=-2*x+random(Round(4*x));
              end;
    procedure ProcMatrix(var a: tMatrix; n,n2: word; x: double; var b: tRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if a[i,j]<=x then b[i]:=1 else
                     begin
                     b[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix(var a: tMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(a[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow(var b: tRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(b[i]:2);
              writeln('');
              end;
     procedure NewMatrix1(var q: wMatrix; n,n2: word; x: double);          var          i,j: word;
              begin
              randomize;
              for i:=1 to n do
              for j:=1 to n2 do
                  q[i,j]:=-1.1*x+random(Round(4*x));
              end;
    procedure ProcMatrix1(var q: wMatrix; n,n2: word; x: double; var e: rRow);          var          i,j: word;
              begin
              for i:=1 to n do
              for j:=1 to n2 do
                  if q[i,j]<=x then e[i]:=1 else
                     begin
                     e[i]:=0;
                     break;
                     end;
              end;
    procedure WriteMatrix1(var q: wMatrix; n,n2: word);          var          i,j: word;
              begin
              for i:=1 to n do
                  begin
                  for j:=1 to n2 do write(q[i,j]:6:2);
                  writeln('');
                  end;
              end;
    procedure WriteRow1(var e: rRow; n: word);          var          i: word;
              begin
              for i:=1 to n do write(e[i]:2);
              writeln('');
              end;
    var
    bRow: tRow;
    eRow: rRow;
    aMatrix: tMatrix;
    qMatrix: wMatrix;
    x: double;
    begin
    write('‚ўҐ¤ЁвҐ ўҐйҐб⢥­­®Ґ зЁб«® е: ');
    readln(x);
    NewMatrix(aMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix(aMatrix,n,n2);
    NewMatrix1(qMatrix,n,n2,x);
    writeln('Њ ваЁж  ',n,'x',n2,' 楫ле зЁбҐ« бд®а¬Ёа®ў ­   ўв®¬ вЁзҐбЄЁ:');
    WriteMatrix1(qMatrix,n,n2);
    ProcMatrix(aMatrix,n,n2,x,bRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow(bRow,n);
    ProcMatrix1(qMatrix,n,n2,x,eRow);
    writeln('Њ ваЁж  ®Ўа Ў®в ­ . Џ®б«Ґ¤®ў вҐ«м­®бвм b[1]..b[',n,'] бд®а¬г«Ёа®ў ­ ');
    WriteRow1(eRow,n);
    writeln('Ќ ¦¬ЁвҐ ENTER');
    readln;
    end.

    Процедуры.
    Даны натуральное число n, действительное число x и две действительные матрицы размера nx2n. Получить последовательность b1,..., bn из нулей и единиц, где bi =1, если элементы i-ой строки матрицы не превосходят x и bi =0 в противном случае.

    Запостил: siszzz, 12 Января 2012

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

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