Построение из двух, одного массива, при этом элементы второго массива переставлены в соответствии с правилом. - 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы