Скачиваний:
13
Добавлен:
01.09.2021
Размер:
170.33 Кб
Скачать

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. Р.Е.АЛЕКСЕЕВА

Кафедра «Прикладная математика»

Дисциплина «Информатика»

Лабораторная работа№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

Соседние файлы в папке Информатика 1 семестр МОРОЗОВСКАЯ