Добавил:
elik.kondrashov@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
12.01.2019
Размер:
546.85 Кб
Скачать

Нижегородский Государственный

Технический Университет

им. Р. Е. Алексеева

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

Лабораторная работа № 3

Тема: «Одномерные и двумерные массивы»

Вариант №14

Выполнил:

студент группы 18-СП

Кондрашов Е.Н.

Проверил: Леканов А.К.

Нижний Новгород 2018г.

Задача:

Блок-схема:

Начало

a)

max=-99999

S=0

i=0

S, max

Х[8]

Конец

и

X[i] > max

imin=i

imax=X[i]

S=S+X[i]

i=i+1

Начало

Начало F(i, j)

б)

max=-99999

S=0

i=0

j=0

i=i+1

Возврат

A[i][j] > max и

X[i][j] < 0

S=S+A[i][j]

i=i+1

i=0

Нет Нет

Нет Да

S=sin(S + 3*A[1][3])

Нет

A[imax][jmax]=S

Да

A[i][j]=P(i, j)

i=i+1

Нет

A[i][j]

j=0

Да

imax=i

jmax=j

max=A[i][j]

Нет Да

X[i]

Да Нет

j=j+1

j=j+1

Конец

Листинг программы на С++:

а)

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

float X[8], max, S;

int i, imax;

max = -99999;

S = 0;

for (i = 0; i < 8; i++)

{

cout << "Введите значение X[" << i << "]" << endl;

cin >> X[i];

if (X[i] <0 && X[i] > max)

{

imax = i;

max = X[i];

}

if (X[i] <= 0)

S = S + X[i];

}

cout << "Искомый элемент X[" << imax << "]= " << X[imax] << endl;

cout << "Искомая сумма= " << S << endl;

return 0;

}

б)

#include <iostream>

#include <iomanip>

#include <fstream>

#include <math.h>

using namespace std;

float P(int i, int j) {

float Z;

Z = 4*sin(7.1*i+j);

return Z;

}

int main() {

setlocale(LC_ALL, "Russian");

float A[4][4], max, S, boof;

int i, j, imax, jmax;

S = 0;

max = -99999;

for (i = 0; i < 4; i++) {

for (j = 0; j < 4; j++) {

A[i][j]=P(i,j);

cout << setw(10) << A[i][j] << "\t";

if (A[i][j] > max && A[i][j] < 0) {

imax = i;

jmax = j;

max = A[i][j];

}

}

cout << endl;

cout << endl;

}

for (i = 0; i < 4; i++) {

S = S + A[i][2];

}

S = sin(S + 3 * A[1][3]);

A[imax][jmax] = S;

ofstream f("NEW.txt");

if (!f.is_open())

cout << "Ошибка" << endl;

else

{

cout << "Открыт файл для записи" << endl;

cout << endl;

cout << "Измененная матрица" << endl;

for (i = 0; i < 4; i++) {

for (j = 0; j < 4; j++) {

cout << setw(10) << A[i][j] << "\t";

f << A[i][j];

f << " ";

}

f << endl;

cout << endl;

cout << endl;

}

f.close();

cout << "Файл записи закрыт" << endl;

}

return 0;

}

Вывод результата:

а)

б)

Программа в Mathcad:

а)

б)

Программа в Excel:

а)

б)

Вывод:

В ходе лабораторной работы были освоены одномерные и двумерные массивы.