Advertisement
Alex_Fomin

Untitled

Nov 19th, 2015
653
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.00 KB | None | 0 0
  1. // Задана квадратная матрица. Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером M.
  2.  
  3. Program CPascal;
  4.  
  5. const nmax=10;
  6.  
  7. var x:array [1..nmax,1..nmax] of integer;
  8.     temp:integer;
  9.     i,j,n,m,imax:byte;
  10.    
  11. Begin
  12. Repeat // Защита от дураков...
  13.   Write('Введите размер квадратной матрицы (2 <= N <= ',nMax,'): '); Readln(N);
  14.   if not ((2 <= N) and (N <= nMax)) then Writeln('Ошибка:( Неверный диапазон. Повторите ввод...');
  15. Until (2 <= N) and (N <= nMax);
  16.  
  17. Writeln('Исходная матрица:');
  18. for i:=1 to n do
  19.     Begin
  20.     for j:=1 to n do
  21.         Begin
  22.         X[i,j]:=Random(51)-25;
  23.         Write(X[i,j]:4);
  24.         end;
  25.     Writeln;
  26.     end;
  27.  
  28. // Определим строку с максимальным элементом на главной диагонали
  29. iMax:=1;
  30. for i:=2 to n do if X[iMax,iMax] < X[i,i] then iMax:=i;
  31. Writeln('Максимальный элемент главной диагонали находится в строке ',iMax,' и равен ',X[iMax,iMax]);
  32.  
  33. Repeat // Защита от дураков...
  34.   Write('Введите номер строки для замены (1 <= M <= ',N,'): '); Readln(M);
  35.   if not ((1 <= M) and (M <= N)) then Writeln('Ошибка:( Неверный диапазон. Повторите ввод...');
  36. Until (1 <= M) and (M <= N);
  37.  
  38. // Поменяем строку M со строкой Index местами
  39. if (M <> iMax) then for i:=1 to n do
  40.                         Begin
  41.                         Temp:=X[iMax,i];
  42.                         X[iMax,i]:=X[m,i];
  43.                         X[m,i]:=Temp;
  44.                         end;
  45.    
  46. Writeln('Преобразованная матрица:');
  47. for i:=1 to n do
  48.     Begin
  49.     for j:=1 to n do Write(X[i,j]:4);
  50.     Writeln;
  51.     end;
  52. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement