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

2.3 Завдання № 3. Програмування циклічних алгоритмів.

Таблиця 1

а

b

S(x)

n

Y(x)

0.1

1

80

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

#include "stdafx.h"

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int fact(double n)

{

double r = 1;

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

r *= i;return r;}

int main()

{setlocale(0, "rus");

double a=0.1, b=1, h, x, y, s, p;

int n=80, i;

h = (b - a) / 10;x = a;

do{

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

{ p *=pow(-1,n)*(pow(2*x,2*n)/fact(2*i));

s += p;}

y = 2*(pow(cos(x),2)-1);

cout << setw(15) << x << setw(15) << y << setw(15) << s << endl; x += h; } while (x <= b + h / 2);

cout << endl; system("pause"); return 0; }

Рис. 3 Результат третього завдання

2.4 Завдання № 4. Програмування з використанням одновимірних масивів.

Заданий масив з до чисел. Визначити кількість інверсій в масиві (тобто таких пар елементів, в яких більше число знаходиться зліва від меншого).

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

#include "stdafx.h"

#include <iostream>

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

using namespace std;

int main()

{srand((unsigned)time(NULL)); // рандомное заполнение без повторений

setlocale(0, "rus");

int mas[99], i, s; int n = 10; s = 0;

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

{

mas[i] = rand() % 100 - 32; // рандомное заполнение массива

cout << mas[i] << " "; }

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

{ if (mas[i]>mas[i + 1]){ s++; }}

cout << "Количество инверсий в массиве =" << s-1;

cout << endl; system("pause"); return 0; }

Рис. 4 Результат 4 завдання

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

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

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

#include "stdafx.h"

#include <conio.h>

#include <locale>

#include "math.h"

#include "stdlib.h"

#include "iostream"

#include "time.h"

#include <iomanip>

using namespace std;

int main()

{srand((unsigned)time(NULL)); // заполнение без повторений

setlocale(0, "rus"); int i, j, n, m; int a[99][99];

cout << "Задайте розмер массива ," << endl << "Он должен быть квадратным" << endl;

cout << "Введите к-во строк " << endl; cin >> n;

cout << "Введите к-во столбцов " << endl; cin >> m;

if (n!=m){ cout << "Даная матрица не квадратная, перезапустите программу и введите розмеры заново!";

cout << endl; system("pause"); return 1; }

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

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

a[i][j] = rand() % 100 - 32; // рандомное заполнение масси }

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

for (j = 0; j < m; j++)

cout << setw(5) << a[i][j] << setw(5); cout << endl; }

int max = 0; int b[99];

cout << "Максимальные ел. по строкам -> ";

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

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

for (j = 1; j < m; ++j)if (a[i][j] > a[i][max])

max = j; b[i] = a[i][max]; cout << a[i][max] << " "; }}

cout << endl; cout << "Получаем массив -> " << endl;

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

{ for (j = 0; j < m; j++) if (i == j){

a[i][j] = b[i];}}

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

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

cout << setw(5) << a[i][j] << setw(5); cout << endl;}

cout << endl; system("pause"); return 0;}

Рис. 5 Результат 5 завдання

Соседние файлы в папке другие