Построение из двух, одного массива, при этом элементы второго массива переставлены в соответствии с правилом. - Pascal
Формулировка задачи:
Всем привет, топик как заполнять тему что бы никто не отвечал я прочитал) Но всё же напишу, что информатика туго даётся, простые задачи пишу по тетради или методичке, но когда речь заходит о сочетании нескольких действий я теряюсь. Я не прошу полностью написанного задания, просто нужен начальный толчок и дальнейшая помощь и исправления.
Вот само задание:
Ввести массив А4. Сформировать массив В4*4 по формуле Вij=Ai*Ai-6, ij=1,..,4. Переставить в каждой строке массива В минимальный элемент с элементом главной диагонали. Минимальный элемент вычислить с помощью под программы 1, используя под программу 2 построить массив D=A*B.
Под программы:
1)Тип S поиск минимального элеиента в строке матрицы.
2) Умножение матриц GMPRD.
Спасибо за внимание!
Ну хоть немного помогите(
Очень нужно(
Решение задачи: «Построение из двух, одного массива, при этом элементы второго массива переставлены в соответствии с правилом.»
textual
Листинг программы
Program Kurswork; uses crt; const m=4; const n=4; type vector=array[1..m] of real; matrica=array[1..m,1..m] of real; var i,j,min:integer; B,D:matrica; A,S:vector; function minimal(n,m:integer;b:matrica):real; var i,j:integer; min:real; begin min:=0; for i:=1 to n do for j:=1 to m do if b[i,j]>0 then min:=b[i,j]; for i:=1 to n do for j:=1 to m do if (b[i,j]>0) and (b[i,j]<min) then min:=b[i,j]; minimal:=min; end; Procedure umn(B,D:matrica;A:vector; M1,N1,M2:integer; var S:vector) ; Label 5; var k,I:integer; sum:real; begin if N1<>M2 then begin writeln('Oshibka!'); goto 5 end; for I:=1 to M1 do begin sum:=0; for k:=1 to N1 do Sum:=Sum+B[I,J]*A[J]; s[I]:=sum ; End; 5:end; label 1; begin clrscr; writeln('Vvedite vector A'); for i:=1 to m do begin {$I-} 1:readln(a[i]); {$I+} if (ioresult<>0) then begin writeln('(Oshibka! Neobhodimo vvesti chislo.)'); goto 1; end; end; writeln('Matrica B:'); for i:=1 to n do begin for j:=1 to m do begin B[i,j]:=A[I]*A[I-J]; write(B[i,j]:5:1,' '); end; writeln; end; for i:=1 to m do begin min:=minimal(b,m,n); for j:=1 to 4 do if i=j then begin x:=min; min:=B[i,j]; B[i,j]:=x; end; begin readln(M,N); for i:=1 to M do begin for j:=1 to n do read(d[I,j]); readln end; umn(B,D,A,M1,N1,M2,S); Write(Matrica D = ‘, D) End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д