Metrick

SuperMatrix

May 24th, 2014
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.99 KB | None | 0 0
  1. program SuperMatrix;
  2.  
  3. const
  4.   maxColLength = 255
  5.   maxRowLength = 255
  6.  
  7. type
  8.   squareMatrix = array [1..maxColLength, 1..maxRowLength] of real;
  9.  
  10. /*
  11.   ЭЙ!!! Есди ниже будет ошибка, то вместо function поставь procedure, а newMatrix убери из var, а добавь её в скобках после слова matrix ("matrix: squareMatrix; var newMatrix: squareMatrix;").
  12.   А так же убери getMixedMatrix := newMatrix
  13. */
  14.  
  15. function getMixedMatrix(matrix: squareMatrix; maxCol, maxRow: integer): squareMatrix;
  16. var
  17.   maxColNumber, minColNumber: real;
  18.   newMatrix = squareMatrix;
  19.  
  20.   i, j: integer;
  21.  
  22. begin
  23.   for i := 1 to maxCol do
  24.   begin
  25.  
  26.     { computing minimum and maximum number in the string }
  27.     maxColNumber := matrix[i][1];
  28.     minColNumber := matrix[i][1];
  29.    
  30.     for j := 2 to maxRow do
  31.     begin
  32.       if maxColNumber < matrix[i][j] then
  33.         maxConNumber := matrix[i][j];
  34.       if minColNumber > matrix[i][j] then
  35.         minConNumber := matrix[i][j];
  36.     end;
  37.    
  38.     { computing line for new matrix}
  39.     for j := 1 to maxRow do
  40.     begin
  41.       newMatrix[i][j] := (matrix[i][j] - minColNumber) / (maxColNumber - minColNumber);
  42.     end;
  43.    
  44.    
  45.   end;
  46.  
  47.   getMixedMatrix := newMatrix;
  48.  
  49. end;
  50.  
  51. var
  52.   inuptMatrix, outputMatrix: squareMatrix;
  53.   max_col, max_row: integer;
  54.   i, j: integer;
  55.  
  56. begin
  57.   WriteLn('Введите длину и высоту матрицы');
  58.   ReadLn(max_col, max_row);
  59.   WriteLn('Теперь введите всю матрицу через пробел и enter');
  60.   for i := 1 to max_col do
  61.     for j := 1 to max_row do
  62.       Read(inputMatrix[i][j]);
  63.     ReadLn;
  64.  
  65.   outputMatrix := getMixedMatrix(inputMatrix, max_col, max_row);
  66.  
  67.   /*
  68.     ЕСЛИ БУДЕТ ОШИБКА, ТО ЗАМЕНИ СТРОЧКУ ВЫШЕ НА:
  69.     getMixedMatrix(inputMatrix, outputMatrix, max_col, max_row);
  70.   */
  71.  
  72.   WriteLn;
  73.   for i := 1 to max_col do
  74.     for j := 1 to max_row do
  75.       Write(outputMatrix[i][j], ' ');
  76.     WriteLn;
  77. end.
Advertisement
Add Comment
Please, Sign In to add comment