НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
им. Р.Е.АЛЕКСЕЕВА
Кафедра «Прикладная математика»
Дисциплина «Информатика»
Лабораторная работа№3
Вариант№23
Выполнил:Федоров К.Р.
Группа 19-Э-5
Проверил: Лапшин И.В.
Нижний Новгород 2019
№1 Найти максимальный из положительных элементов массива и поменять его местами с |
||
первым. |
Начало |
|
|
|
|
|
max=-1000 , |
|
|
x , y , A[8] |
|
|
„Введите массив“ |
|
|
i=0 |
|
|
i<8 |
Нет |
|
|
|
|
A[i] |
|
|
A[i]>max |
Да |
|
&& |
|
|
|
|
|
A[i]>0 |
max=a[i] |
|
|
|
|
|
x=i |
|
i=i+1 |
|
|
y=A[0] |
|
|
A[0]=max |
|
|
A[x]=y |
|
|
„Массив после замены“ |
i=0 |
|
i<8 |
Нет |
|
|
A[i] |
|
i=i+1 |
|
Конец |
|
#include "stdafx.h" #include<iostream> #include<math.h> using namespace std; void main();
int _tmain(int argc, _TCHAR* argv[])
{
double x,a[8], max=-1000000; int i,y;
i = 0;
for (i = 0; i < 8; i = i + 1)
{
cout << "Введи a[" << i << "]="; cin >> a[i];
if (a[i] > max & a[i] > 0)
{
max = a[i]; y = i;
}
}
//замена x = a[0];
a[0] = max; a[y] = x;
i = 0;
cout << endl; //масив после замены
for (i = 0; i < 8; i = i + 1)
{
cout <<"член массива №" << i << "=" << a[i] << endl;
}
}
Первый случай |
Второй случай |
Первый случай
i 0
M ( 12 |
6 7 |
8 9 14 0 |
3.5 ) |
|
|
|
|
|
|
|
||||||||||
while |
i 8 |
|
|
|
0 i |
|
|
|
|
|
0 i |
|
|
|
( 14 |
6 7 8 |
9 12 0 3.5 ) |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
imax if |
|
M |
|
0 |
|
|
|
M |
|
max i imax |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
max if |
|
M |
0 i |
0 |
|
M |
0 i |
max M |
0 |
i |
max |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Od M0 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M0 0 max
M0 imax Od
Второй случай
i 0
M ( 8 9 9 9 20 14 2 1 )
while i 8 |
|
|
|
0 i |
|
|
|
|
|
0 i |
|
|
|
( 14 9 |
9 9 20 8 2 1 ) |
|||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
imax if |
|
M |
|
0 |
|
|
|
M |
|
max i imax |
|
||||||
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
max if |
|
M |
0 i |
0 |
|
M |
0 i |
max M |
0 |
i |
max |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Od M0 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M0 0 max
M0 imax Od
№2 Найти сумму отрицательных членов матрицы, лежащих под побочной диагональю. Найти минимальный элемент среди положительных членов 1-го столбца. Поменять этот местами этот элемент с элементом А[3][2]. И вывести полученный массив в блокнот.
|
|
Начало |
|
|
S=0 , min=10000 |
||
|
|
A[4][4] |
|
|
|
i=0 |
|
|
|
i<4 |
Нет |
|
|
|
|
i=i+1 |
|
j=0 |
|
|
Нет |
j<4 |
|
|
|
|
|
A[i][j]=sin(i*3.5)-(2.1*j) |
|||
да |
A[i][j]>0 && |
|
|
j<1 && |
|
||
|
|
||
|
A[i][j]<min |
|
|
min=A[i][j] |
|
|
|
im=i |
|
|
|
jm=j |
|
|
|
да |
A[i][j]<0 && |
|
|
|
|
i+j>3 |
|
S=S+A[i][j] |
|
|
|
|
|
j=j+1 |
|
|
A[im][jm]=A[3][2] |
||
|
A[3][2]=min |
|
|
|
|
i=0 |
|
|
|
i<4 |
|
i=i+1 |
|
j=0 |
|
|
|
|
|
|
нет |
j<4 |
|
|
|
|
|
|
|
A{i}{j} |
|
|
|
j=j+1 |
|
|
|
Конец |
|
#include "stdafx.h" #include <math.h> #include<iostream> #include<fstream> using namespace std; void main();
int _tmain(int argc, _TCHAR* argv[])
{
double S = 0, a[4][4], min = 1000000; int i, j, im, jm;
for (i = 0; i < 4; i = i + 1)
{
for (j = 0; j < 4; j = j + 1)
a[i][j] = sin((i*3.5) - (2.1*j));
} |
|
//вывод матрицы |
|
for (i = 0; i < 4; i = i + 1) |
|
{ |
|
for (j = 0; j < 4; j = j + 1) |
|
{ |
|
cout << a[i][j] << " |
"; |
} |
|
cout << endl; |
|
}cout << endl;
//сумма эллементов под побочной диогональю: for (i = 0; i < 4; i = i + 1)
{
for (j = 0; j < 4; j = j + 1)
if (a[i][j] < 0 && (i + j)>3)
{
S = S + a[i][j];
}
}
//минимальный положительный эллемент среди 1ого столбца for (i = 0; i < 4; i = i + 1)
{
for (j = 0; j < 4; j = j + 1)
if (a[i][j] > 0 && j < 1)
{
if (a[i][j] < min)
{
min = a[i][j]; im = i;
jm = j;
}
}
}
//замена этого эллемента a[im][jm] = a[3][2]; a[3][2] = min;
//вывод полученной матрицы for (i = 0; i < 4; i = i + 1)
{
for (j = 0; j < 4; j = j + 1)
{
cout << a[i][j] << " ";
}
cout << endl;
}
cout << endl << "S=" << S << endl << "min=" << min; //выведем полученный массив в файл
fstream file; file.open("1.txt", ios::out); for (i = 0; i < 4; i = i + 1)
{
for (j = 0; j < 4; j = j + 1)
{
file << a[i][j] << " ";
}
file << endl;
}
file.close();
}
MathCad: |
|
|
i 0 |
j 0 |
mina 10000 |
Summ |
while |
|
i 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.207 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
while j |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mi j |
sin(i 3.5 |
2.1 j) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Summ Summ if |
|
M |
i j |
|
0 |
|
[(i j) 3] M |
i j |
0 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
Summ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
imina |
|
|
|
while |
i 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
Mi 0 |
sin(i 3.5) |
|
|
|
|
|
|
|
i 0 |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
imina |
|
M |
i 0 |
|
|
|
M |
|
mina |
i imina |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
if |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
mina if M |
i 0 |
0 |
|
M |
i 0 |
mina |
M |
i 0 |
mina |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
imina |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
M |
|
|
|
while |
|
|
|
|
i 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
while |
|
j |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
Mi j |
sin(i 3.5 2.1 j) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
j |
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
j |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
i i 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Od M3 2
M3 2 Mimina 0
Mimina 0 Od
|
|
|
0 |
0.863 |
0.872 |
0.017 |
|
|
M |
|
0.351 |
0.985 |
0.644 |
0.335 |
|
||
|
0.017 |
0.982 |
0.335 |
0.644 |
|
|||
|
|
|||||||
|
|
|
|
|||||
|
|
|
0.88 |
0.855 |
0.657 |
0.872 |
|
Summ 1.207