Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Текст программы на языке Паскаль. matr=array of array of real;

Поиск

Program Pr_52;

Type

matr=array of array of real;

 procedure in_matr(var a:matr;n,m:byte);

 var i,j:byte;

 begin

writeln('Введите элементы матрицы');

for i:=0 to n-1 do

for j:=0 to m-1 do

read(a[i,j]);

 end;

 

 function sredn (a:matr; n,j:byte):real;

 var i:byte; s:real;

 begin

s:=0;

for i:=0 to n-1 do

  s:=s+a[i,j];

sredn:=s/n;

 end;

 function min_el (a:matr; n,j:byte):real;

 var

i:byte; min:real;

 begin

min:=a[0,j];

for i:=1 to n-1 do

     if a[i,j]<min then min:=a[i,j];

min_el:=min;

 end;

 function j_max(a:matr;n,m:byte):byte;

 var

j:byte;

max,tek:real;

 begin

max:=sredn(a,n,0);

j_max:=0;

for j:=0 to m-1 do

begin

  tek:=sredn(a,n,j);

  if tek>max then

  begin

     max:=tek;

     j_max:=j

  end;

end;

 end;

Var

a:matr;

n,m:byte;

min:real;

 begin

writeln('Введите n и m:');

readln (n,m);

SetLength(a,n,m);

writeln('Введите элементы матрицы:');

in_matr(a,n,m);

min:=min_el (a,n,j_max(a,n,m));

writeln ('min=', min:6:2);

 end.

Текст программы на языке Фортран.

Program Pr_52

implicit none

real, allocatable:: A(:,:)

integer n,m,j_max

real min,min_el

print *,'Введите n и m:'

read*,n,m

allocate (A(n,m))

print *,'Введите элементы матрицы:'

call in_matr(A,n,m)

min=min_el(A,n,m,j_max(A,n,m))

print *,'min=',min

deallocate (A)

end

 subroutine in_matr (A,n,m)

implicit none

integer, intent (in)::n,m

real,intent(out):: A(n,m)

 integer i,j

read *,((A(i,j),j=1,m),i=1,n)

 end

 real function sredn(A,n,m,j)

implicit none

integer, intent (in)::n,m,j

real,intent(in):: A(n,m)

real s

integer i

s=0

do i=1,n

   s=s+A(i,j)

enddo

sredn=s/n

 end

 real function min_el(A,n,m,j)

implicit none

integer, intent (in)::n,m,j

real,intent(in):: A(n,m)

real min

integer i

min=A(1,j)

do i=2,n

if (A(i,j)<min) then

min=a(i,j)

end if

enddo

min_el=min

 end

 integer function j_max (A,n,m)

implicit none

integer, intent (in)::n,m

real,intent(in):: A(n,m)

real max,sredn,tek

integer j  

max=sredn(A,n,m,1)

j_max=1

do j=2,m

tek=sredn(A,n,m,j)

if (tek>max) then

  max=tek

j_max=j

end if

enddo         

 end

Текст программы на языке Python.

# В качестве матрицы используется стандартный

# тип list (список),

# элементами которого являются списки

# Функции ввода-вывода матриц реализованы по

# аналогии с задачей 51

 

# Ввод матрицы из N строк по M столбцов:

def InputRealMatrix(N, M):

A = [] # Создаем пустой список 

for i in range(0, N):

A.append([])

# Добавляем пустой список элементов i-й строки

for j in range(0, M):

print("Введите A[{0},{1}]: ".format(i+1,j+1))

A[i].append(float(input()))

return A

 

# Вывод квадратной матрицы A из N строк

# по M столбцов:

# MatrName - выводимое на экран имя матрицы (строка)

def OutputRealMatrix(MasName,A,N,M):

for i in range(0, N):

for j in range(0, M):

print("{0}[{1},{2}]={3:8.3} ".format(MasName,

   i+1,j+1,A[i][j]), sep='',end=' ')

print(" ")

return None

 

# A -- матрица из N строк, j -- номер столбца

# возвращает среднее в j-ом столбце

# (считая с 1 до M, где M -- число столбцов)

def sredn(A, N, j):

S = 0

j = j-1

# номер столбца с 1, а индексы в списке с 0.

for i in range(0, N):

S = S + A[i][j]

return S/N 

 

# A -- матрица из N строк, j -- номер столбца

# возвращает значение минимального элемента в

# j-ом столбце (считая с 1 до M,

# где M -- число столбцов)

def min_el(A, N, j):

j = j-1

# номер столбца с 1, а индексы в списке с 0.

minimum = A[0][j]

for i in range(1, N):

if A[i][j] < minimum:

minimum = a[i,j]  

return minimum

 

# A -- матрица из N строк по M столбцов

# возвращает номер столбца (от 1 до M),

# среднее арифметическое элементов которого

# максимально

def jmax(A, N, M): 

jmaxsredn = 1

# не индекс, а порядковый номер столбца матрицы

maxsredn = sredn(A,N,jmaxsredn)

for j in range(2, M+1):

teksredn = sredn(A,N,j)

if teksredn > maxsredn:

maxsredn = teksredn

jmaxsredn = j

return jmaxsredn

 

print("Введите число строк матрицы A: ")

Na=int(input())  

print("Введите число столбцов матрицы A: ")

Ma=int(input())  

A = InputRealMatrix(Na,Ma)

print("Исходная матрица A:")

OutputRealMatrix("A",A,Na,Ma)

minel = min_el(A,Na,jmax(A,Na,Ma))

print("min = {0:8.3}".format(minel))

Программа в системе Матлаб

n=input('Введите n= ');

m=input('Введите m= ');

disp('Введите элементы матрицы');

A=in_matr(n,m);

min=min_el(A,n,m,j_max(A,n,m));

disp(sprintf('min =%4.2f',min))

 

function A=in_matr(n,m)

 for i=1:n

  for j=1:m

A(i,j)= input('');

end

 end

end

 

function min=min_el(A,n,m,j)

 min=A(1,j);

 for i=1:n

 if A(i,j)<min

min=A(i,j);

end

 end

end

 

function jmax=j_max(A,n,m)

 max=sredn(A,n,1);

 jmax=1;

 for j=2:m

   tek= sredn(A,n,j); 

   if tek>max

 max=tek;

 jmax=j;

   end

 end

end

 

function s=sredn(A,n,j)

 s=0;

 for i=1:n

s=s+A(i,j);

 end

s=s/n;

end

 



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 103; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.45.82 (0.006 с.)