Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 Курс / Практика / Отчёт по практике Матвиенко дубль 2.doc
Скачиваний:
0
Добавлен:
30.05.2020
Размер:
1.35 Mб
Скачать

3.3 Програмування циклічних алгоритмів

Вивести на екран таблицю значень функції Y(x) і її розкладання в ряд S(x) для x, що змінюється від а до b з кроком h = (b – а)/10.

а

b

S(x)

n

Y(x)

–2

–0.1

160

Таблиця 2

Код програми:

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int main(){

double a,b,h,x,y,s,p;

int n,i;

cout << "Vvedite a,b,h,n" << endl;

cin >> a >> b >> h >> n;

x=a;

do {

p=s=1;

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

p *= -(pow((1+x),2))+(pow((1+x),4))/2;

s += p;}

y=log(1/(2+2*x+x*x));

cout << setw(15) << x << setw(15) << s << setw(15) << y << endl;

x += h;}

while (x <= b+h/2);

cout << endl;

system("pause");

return 0;}

Рис. 15 12 Результат виконання завданяя №13

3.4 Програмування з використанням одновимірних масивів

Заданий масив з до символів. Видалити з нього повторні входження каж-дого символу.

Код програми:

#include <iostream>

#include <set>

#include <string>

#include <algorithm>

#include <iterator>

#include <sstream>

int main(){

std::string s;

getline (std::cin, s);

std::istringstream ist(s);

std::istream_iterator<char> st(ist), fn;

std::set<char> stt(st, fn);

std::copy(stt.begin(), stt.end(), std::ostream_iterator<char>(std::cout, " "));

return 0;

}

Рис. 16 Результат виконання завданяя №14

3.5 Покажчики. Програмування з використанням динамічних двовимірних масивів

У матриці розміром NXM знайти максимальний серед елементів, лежачих нижче за побічну діагональ, і мінімальний серед елементів, лежачих вище за головну діагональ.

Код програми:

#include <iostream>

#include <iomanip>

#include <ctime>

int main()

{

setlocale(LC_ALL, "Russian");

int row,column;

std::cout << "Введите кол-во строк в матрице: ";

std::cin >> row;

std::cout << "Введите кол-во столбцов в матрице: ";

std::cin >> column;

int **MAS = new int *[row];

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

MAS[i] = new int [column];

srand(time(NULL));

std::cout << "Матрица: " << std::endl;

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

{

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

{

MAS[i][j]=10-rand()%21;

std::cout << std::setw(3) << MAS[i][j];

}

std::cout << std::endl;

}

int min=MAS[0][1];

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

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

if ((j>i) && (MAS[i][j]<min)) min=MAS[i][j];

int max=MAS[0][1];

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

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

if ((j>i) && (MAS[i][j]>max)) max=MAS[i][j];

std::cout << "Наименьший элемент, лежащий выше главной диагонали: " << min<<std::endl;

std::cout << " Mаксимальный среди элементов, лежащих ниже побочной " << max<<std::endl;

std::cout << std::endl;

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

delete []MAS[i];

delete []MAS;

system("pause");

return 0;

}

Рис. 17 Результат виконання завданяя №15