Advertisement
Guest User

Проэкт тупости

a guest
Mar 27th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.39 KB | None | 0 0
  1. program ProjectStupidity;
  2. {Объявляем тип матрицы и массива(используется после для описания параметра процедуры)}
  3. type TMatrix = array[1..12] of array[1..10] of integer;
  4. type TArray = array[1..12] of Integer
  5.  
  6. {Процедура для составления массива}
  7. procedure procMatrix(
  8. var A:TMatrix;
  9. var mm,nn: integer;
  10. var B: TArray;
  11. );
  12. {Переменные процедуры}
  13. var i,j,max,min,sum:integer;
  14.  
  15. begin
  16. {Начало кода процедуры}
  17.     max=1;
  18.     for i := 1 to mm do
  19.     {Заполняем массив B}
  20.         begin
  21.             for j := 1 to nn do
  22.                 if A[i,j]>A[i,max] then max:=j; //Если текущий элемент строки больше элемента максимального (берется по индексу)
  23.             B[i]:=A[i,max]; //В конце строки заносим максимальный элемент в массив
  24.             max:=1; //Сбрасываем индекс максимального элемента
  25.         end;
  26.     {Ищем минимум по массиву}
  27.     min:=1;
  28.     for i:=1 to mm do
  29.         if B[i]<B[min] then min:=i;
  30.     {Считаем сумму отрицательных элементов (за вычетом минимума который будет перезаписан)}
  31.     sum:=0;
  32.     for i:=1 to mm do
  33.         if B[i]<0 and i<>min then sum:=sum+B[i];
  34.     {Заменяем минимальный элемент суммой отрицательных}
  35.     B[min]:=sum;
  36. end;
  37.  
  38. {Переменные основной программы}
  39. var A:TMatrix;
  40. mm,nn,i,j: integer;
  41. B: TArray;
  42. {Тело основной программы}
  43. begin
  44.     {Ввод размерности матрицы}
  45.     WriteLn('Введите размерность матрицы: mm и nn');
  46.     ReadLn(mm);
  47.     ReadLn(nn);
  48.     {Ввод матрицы}
  49.     for i:=1 to mm do
  50.         begin
  51.             for j:=1 to nn do
  52.                 begin
  53.                     WriteLn('Введите [',i,',',j,'] элемент матрицы');
  54.                     ReadLn(A[i,j]);
  55.                 end;
  56.         end;
  57.     {Создаем массив B с помощью процедуры}
  58.     procMatrix(A,mm,nn,B);
  59.     {Выводим матрицу}
  60.     WriteLn('Матрица А')
  61.     for i:=1 to mm do
  62.         begin
  63.             for j:=1 to nn do Write(A[i,j],' ');
  64.             WriteLn();
  65.         end;
  66.     WriteLn();
  67.     {Выводим массив В}
  68.     WriteLn('Массив В');
  69.     for i:=1 to mm do Write(B[i]);
  70.     WriteLn();
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement