Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.36 KB | None | 0 0
  1. program Project3;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.    System.SysUtils;
  9.  
  10.  
  11. type
  12.    Matrix = Array[1..20] of Array[1..20] of Integer;
  13.  
  14. var
  15.    Input, Output: text;
  16.    Mat: Matrix;
  17.    i, j, NumberOfStrings, NumberOfColumns, x: Integer;
  18.  
  19. Procedure Sort(Mat: Matrix; NumberOfStrings, NumberOfColumns: Integer);
  20. var
  21.    NameOfFile: String;
  22. begin
  23.    Writeln('Введите имя файла, в который хотите сохранить результат');
  24.    Read(NameOfFile);
  25.    NameOfFile := NameOfFile + '.txt';
  26.    Assign(Output, NameOfFile);
  27.    Rewrite(Output);
  28.    Writeln(Output, 'Номера столбцов: ');
  29.    Write('Номера столбцов с числами, идущими по возрастанию: ');
  30.    for i := 1 to NumberOfColumns do
  31.    begin
  32.       x := 0;
  33.       for j := 1 to NumberOfStrings - 1 do
  34.       begin
  35.          if Mat[j, i] < Mat[j + 1, i] then                     // i - столбцы, j - строки
  36.             Inc(x);
  37.       end;
  38.       If x = NumberOfStrings - 1 then
  39.       begin
  40.          Write(Output, i,' ');
  41.          Write(i,' ');
  42.       end;
  43.    end;
  44.    Close(Output);
  45. end;
  46.  
  47. procedure ReadFile(var Mat: Matrix; var NumberOfStrings: Integer; var NumberOfColumns: Integer);
  48. var
  49.    NameOfFile: String;
  50.    IsCorrect: Boolean;
  51. begin
  52.    repeat
  53.       Writeln('Введите имя файла, из которого хотите считать информацию: ');
  54.       Readln(NameOfFile);
  55.       NameOfFile := NameOfFile + '.txt';
  56.       IsCorrect := True;
  57.       try
  58.          Assign(Input, NameOfFile);
  59.          Reset(Input);
  60.       except
  61.          IsCorrect := False;
  62.          Writeln('Не удалось найти файл ', NameOfFile);
  63.       End;
  64.    until IsCorrect;
  65.    while not EoF (Input) do
  66.    begin
  67.       Inc(NumberOfStrings);
  68.       NumberOfColumns := 0;
  69.       while not EoLn(Input) do
  70.       begin
  71.          Inc(NumberOfColumns);
  72.          Read(Input, Mat[NumberOfStrings, NumberOfColumns]);
  73.       end;
  74.       Readln(Input);
  75.    end;
  76.    Writeln('Исходная матрица: ');
  77.    for i := 1 to NumberOfStrings do
  78.    begin
  79.       for j := 1 to NumberOfStrings - 1 do
  80.       Write(Mat[i, j]:2);
  81.       Writeln;
  82.    end;
  83.    Close(Input);
  84. end;
  85. begin
  86.    ReadFile(Mat, NumberOfStrings, NumberOfColumns);
  87.    Sort(Mat, NumberOfStrings, NumberOfColumns);
  88.    Readln;
  89.    Readln;
  90. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement