1 семестр (Леканов) / лаба3 в14 / Laba3
.docxНижегородский Государственный
Технический Университет
им. Р. Е. Алексеева
Кафедра: Прикладная математика
Лабораторная работа № 3
Тема: «Одномерные и двумерные массивы»
Вариант №14
Выполнил:
студент группы 18-СП
Кондрашов Е.Н.
Проверил: Леканов А.К.
Нижний Новгород 2018г.
Задача:
Блок-схема:
Начало
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:
а)
б)
Вывод:
В ходе лабораторной работы были освоены одномерные и двумерные массивы.