Advertisement
CyberPascal

Untitled

Feb 16th, 2014
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.52 KB | None | 0 0
  1. Program File_2; uses crt;
  2.  
  3. type matrix=array [1..50,1..50] of integer; {Описываем тип для матрицы}
  4.      vector=array [1..50] of integer; {Описываем тип для вектора}
  5.  
  6. var a:matrix;
  7.     b:vector;
  8.     i,j,n:byte;
  9.  
  10. {----- Генерируем матрицу Start -----}
  11. Procedure GenerateMatrix(var x:matrix; n:byte);
  12. var i,j:byte;
  13. Begin
  14. for i:=1 to n do
  15.     for j:=1 to n do
  16.         Begin
  17.         X[i,j]:=Random(11);
  18.         X[i,j]:=X[i,j]-5;
  19.         end;
  20. end;
  21. {----- Генерируем матрицу End -----}
  22.  
  23. {----- Выводим матрицу на экран Start -----}
  24. Procedure OutPutMatrix(x:matrix; name:string; n:byte);
  25. var i,j:byte;
  26. Begin
  27. Writeln(' Матрица ' +Name+ ': ');
  28. for i:=1 to n do
  29.     Begin
  30.     for j:=1 to n do Write(X[i,j]:3);
  31.     Writeln;
  32.     end;
  33. end;
  34. {----- Выводим матрицу на экран End -----}
  35.  
  36. {----- Составляем вектор Start -----}
  37. Procedure SumSTMatrix(x:matrix; var sum:vector; n:byte);
  38. var i,j:byte;
  39.     status:boolean;
  40. Begin
  41. for i:=1 to n do
  42.     Begin
  43.     Sum[i]:=0; {Начальное значение суммы}
  44.     Status:=False;
  45.     for j:=1 to n do
  46.         Begin
  47.         if Status then Sum[i]:=Sum[i]+X[i,j]; {Суммируем}
  48.         if (X[i,j] < 0) then Status:=True; {Первое отрицательное}
  49.         end;
  50.     if not Status then Sum[i]:=100;
  51.     end;
  52. end;
  53. {----- Составляем вектор End -----}
  54.  
  55. {----- Выводим вектор на экран Start -----}
  56. Procedure OutPutVector(x:vector; name:string; n:byte);
  57. var i:byte;
  58. Begin
  59. Writeln(' Вектор ' +Name+ ': ');
  60. for i:=1 to n do Write(X[i]:4);
  61. Writeln;
  62. end;
  63. {----- Выводим вектор на экран End -----}
  64.  
  65. Begin clrscr;
  66. Randomize;
  67. Write('--------------------------------------------------------------------------------');
  68. Write(' Введите порядок матрицы: '); Readln(N);
  69. Write('--------------------------------------------------------------------------------');
  70. GenerateMatrix(A,N);
  71. OutPutMatrix(A,#65,N);
  72. Write('--------------------------------------------------------------------------------');
  73. SumSTMatrix(A,B,N);
  74. OutPutVector(B,#66,N);
  75. Write('--------------------------------------------------------------------------------');
  76. GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
  77. Write('--------------------------------------------------------------------------------');
  78. Readln;
  79. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement