Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program ProjectStupidity;
- {Объявляем тип матрицы и массива(используется после для описания параметра процедуры)}
- type TMatrix = array[1..12] of array[1..10] of integer;
- type TArray = array[1..12] of Integer
- {Процедура для составления массива}
- procedure procMatrix(
- var A:TMatrix;
- var mm,nn: integer;
- var B: TArray;
- );
- {Переменные процедуры}
- var i,j,max,min,sum:integer;
- begin
- {Начало кода процедуры}
- max=1;
- for i := 1 to mm do
- {Заполняем массив B}
- begin
- for j := 1 to nn do
- if A[i,j]>A[i,max] then max:=j; //Если текущий элемент строки больше элемента максимального (берется по индексу)
- B[i]:=A[i,max]; //В конце строки заносим максимальный элемент в массив
- max:=1; //Сбрасываем индекс максимального элемента
- end;
- {Ищем минимум по массиву}
- min:=1;
- for i:=1 to mm do
- if B[i]<B[min] then min:=i;
- {Считаем сумму отрицательных элементов (за вычетом минимума который будет перезаписан)}
- sum:=0;
- for i:=1 to mm do
- if B[i]<0 and i<>min then sum:=sum+B[i];
- {Заменяем минимальный элемент суммой отрицательных}
- B[min]:=sum;
- end;
- {Переменные основной программы}
- var A:TMatrix;
- mm,nn,i,j: integer;
- B: TArray;
- {Тело основной программы}
- begin
- {Ввод размерности матрицы}
- WriteLn('Введите размерность матрицы: mm и nn');
- ReadLn(mm);
- ReadLn(nn);
- {Ввод матрицы}
- for i:=1 to mm do
- begin
- for j:=1 to nn do
- begin
- WriteLn('Введите [',i,',',j,'] элемент матрицы');
- ReadLn(A[i,j]);
- end;
- end;
- {Создаем массив B с помощью процедуры}
- procMatrix(A,mm,nn,B);
- {Выводим матрицу}
- WriteLn('Матрица А')
- for i:=1 to mm do
- begin
- for j:=1 to nn do Write(A[i,j],' ');
- WriteLn();
- end;
- WriteLn();
- {Выводим массив В}
- WriteLn('Массив В');
- for i:=1 to mm do Write(B[i]);
- WriteLn();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement