Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАП12вар1Сем.docx
Скачиваний:
7
Добавлен:
30.01.2023
Размер:
1.3 Mб
Скачать

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

12

ex + 6

a = 5, b = 11

Метод трапеции

# include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "rus");

float a = 5, b = 11, n = 200, h, s = 0, x;

h = (b - a) / n;

x = a;

do

{

s = s + h * ((exp(x)+6) + (exp(x +h)+6)) / 2;

x = x + h;

} while

(x < b );

cout << "S трапеции = " << s << endl;

}

Метод параболы

# include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "Rus");

float a = 5, b = 11, n = 200, h, i = 1, x, s1 = 0, s2 = 0;

double s;

h = (b - a) / (2 * n);

x = a + 2 * h;

do

{

s2 = s2 + (exp(x) + 6);

x = x + h;

s1 = s1 + (exp(x) + 6);

x = x + h;

i = i + 1;

} while (i < n);

s = (h / 3.0) * ((exp(a) + 6) + 4 * (exp(a + h) + 2) + 4 * s1 + 2 * s2 + (exp(b) + 6));

cout << "Площадь криволинейной трапеции равна " << s;

}

12

x3 + 2x – 4

#include <iostream>

u sing namespace std;

int main()

{

setlocale(LC_ALL, "Rus");

double a = 0, b = -4, e = 0.0001, x;

do

{

x = (a + b) / 2;

if (((pow(x, 3) + 2 * x - 4) * (pow(a, 3) + 2 * a - 4)) > 0)

a = x;

else b = x;

} while (abs(a - b) > (2 * e));

cout << " Корень уравнения равен " << x;

}

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

12

1. Найти минимальный элемент массива Т и заменить им четные по номеру элементы.

2. Задан массив из k символов. Определить количество различных элементов в массиве.

# include <iostream>

#include <ctime>

using namespace std;

void main()

{

setlocale(LC_ALL, "Rus");

const int N = 100;

int i, n, T[N], rmn = 0;

cout << "Размер массива= ";

cin >> n;

cout << "Массив T=" << endl;

if (n > 99)

return;

srand((unsigned)time(NULL));

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

{

T[i] = rand() % 100;

cout << T[i] << " ";

}

cout << endl;

for (i = 1;i < n;i++)

if (T[i] < T[rmn])

rmn = i;

cout << "Минимальный элемент = " << T[rmn] << endl;

for (i = 0; i < n; i += 2)

T[i] = rmn;

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

cout << T[i] << " ";

}

2.

#include <iostream>

#include <locale>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

const int maxSize = 10;

char source[maxSize], contains[maxSize] = { 0 };

int count = 0, a = 0;

cout << "Введите символы" << endl;

for (int i = 0; i < maxSize; i++)

{

cin >> source[i];

}

for (int i = 0; i < maxSize; i++)

{

bool exist = false;

for (int k = 0; k < maxSize; k++)

{

if (contains[k] == source[i])

{

exist = true;

break;

}

}

if (!exist)

{

count = 0;

for (int j = 0; j < maxSize; j++)

if (source[i] == source[j])

count = count + 1;

cout << source[i] << "=" << count << endl;

contains[a++] = source[i];

}

}

2

Начало

N=10

Вывод минимального элемента

I=0, N

I=0, T[N], I +=2

T[i]=radn()%100

Rmn=i

T[i}=rmn

Вывод T[i]

I=0, T[N]

Вывод T[i]

Rnm=T[i]

Конец

I=1, N

T[i]<rmn

Да

Rnm = T[i]

Нет

2