336.35K
Категория: МатематикаМатематика

Практическая работа №6 Функции

1.

Практическая работа №6
Функции

2.

Условие
задачи
Условие
задачи
№1№2
Ввести двумерные массивы
X 1N 1 N 1 ,
X 2 N 2 N 2 ,
X 3N 3 N 3 . Найти
наименьший из максимумов этих массивов. Значением найденного
минимального максимума заменить элементы побочных диагоналей всех
матриц. Далее переписать в одномерный массив Y главную диагональ той
матрицы, в которой максимум окажется наибольшим.
N1=3 Исходный массив X1:
2
56
3
3
6
4
4
5
6
N2=2 Исходный массив X2:
34
6
2
56
34
5
7
N3=4 Исходный массив X3:
34
23
7
4
5
455
5
7
выводим массив X1:
4
4
4
8
3
6
3
6
Выходные данные:
max1=56
max2=34
max3=455
минимальный максимум равен 34
3
34
4
34
5
6
выводим массив X2:
34
34
34
7
выводим массив X3:
34
23
7
34
5
455
34
7
4
34
4
8
34
6
3
6
Выводим одномерный массив Y:
34 455 4 6

3.

Начало
1
Vvod2m(X1,N1)
Vvod2m(X2,N2)
Vvod2m(X3,N3)
Zamena(X3,N3,MinofMax)
MaxofMax=
max(m1,max(m2,m3))
Vivod2m(X1,N1)
Vivod2m(X1,N1)
Vivod2m(X2,N2)
m1=Maximum(X1,N1)
Vivod2m(X3,N3)
Vivod2m(X2,N2)
M1>m2 &&
M1>m3
m2=Maximum(X2,N2)
Vivod2m(X3,N3)
form(X1,N1,Y,M)
M2>m3
m3=Maximum(X3,N3)
Вывод
m1,m2,m3
form(X2,N2,Y,M)
MinofMax=
min(m1,min(m2,m3))
Vivod1m(Y,M)
Zamena(X1,N1,MinofMax)
Конец
Zamena(X2,N2,MinofMax)
1
form(X3,N3,Y,M)

4.

Блок-схема к задаче №2
void vvod2m (int a[10][10], int &n)
void vivod2m (int a[10][10], int n)
Ввод n
i=0; i<n; i++
i=0; i<n; i++
Перевод
строки
j=0; j<n; j++
j=0; j<n; j++
Ввод a[i][j]
Вывод a[i][j]
Выход
Выход

5.

int maximum (int a[10][10], int n)
void zamena (int a[10][10], int n,
int max)
i=0; i<n; i++
Max=a[0][0]
i=0; i<n; i++
A[i][n-i-1]=max
j=0; j<n; j++
Выход
a[i][j] > max
void vivod1m (int a[], int n)
Max=a[i][j]
i=0; i<n; i++
Вывод a[i]
return Max
Выход
Выход

6.

void form (int a[10][10], int n, int b[],
int &m)
int Min (int p, int q)
i=0; i<n; i++
p<q
B[i]=a[i][i]
Return q
Return p
M=n
Выход
Выход

7.

Листинг программы на С++ к задаче №2
#include <iostream.h>
void vvod2m(int a[10][10],int &n)
{
cout<<"\nVvod n";
cin>>n;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
cout<<"\nA["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
}
void vivod2m (int a[10][10], int n)
{
for (int i=0; i<n;i++)
{
cout<<"\n";
for (int j=0; j<n; j++)
cout<<"\t"<<a[i][j];
}
}
void vivod1m (int a[], int n)
{
for (int i=0; i<n;i++)
cout<<"\t"<<a[i];
}
int maximum(int a[10][10],int n)
{
int max=a[0][0];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
if (a[i][j]>max)
max=a[i][j];
return max;
}
void zamena (int a[10][10], int n, int max)
{
for (int i=0; i<n; i++)
a[i][n-i-1]=max;
}
void form(int a[10][10], int n, int b[], int &m)
{
for (int i=0; i<n; i++)
b[i]=a[i][i];
m=n;
}
int min(int p, int q)
{
if (p<q)
return p;
else
return q;
}

8.

int main()
{
int
x1[10][10],x2[10][10],x3[10][10],n1,n2,n3,y[10],m;
vvod2m(x1,n1);
vvod2m(x2,n2);
vvod2m(x3,n3);
cout<<"\nMassiv X1";
vivod2m(x1,n1);
cout<<"\nMassiv X2";
vivod2m(x2,n2);
cout<<"\nMassiv X3";
vivod2m(x3,n3);
int m1,m2,m3,minofmax;
m1=maximum(x1,n1);
m2=maximum(x2,n2);
m3=maximum(x3,n3);
cout<<"\nmax1="<<m1<<"\tmax2="<<m2<<"\tmax3="
<<m3;
minofmax=min(m1,min(m2,m3));
cout<<"\nMassiv X1";
zamena(x1,n1,minofmax);
vivod2m(x1,n1);
cout<<"\nMassiv X2";
zamena(x2,n2,minofmax);
vivod2m(x2,n2);
cout<<"\nMassiv X3";
zamena(x3,n3,minofmax);
vivod2m(x3,n3);
if (m1>m2 && m1>m3)
form(x1,n1,y,m);
else
if (m2>m3)
form(x2,n2,y,m);
else
form(x3,n3,y,m);
cout<<"\nMassiv Y:";
vivod1m(y,m);
}
English     Русский Правила