Материал: 3ИТОГ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

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

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

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

 

 

 

Конец