Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
187.07 Кб
Скачать

Вариант №12

Дана матрица целых чисел A[M][N]. Изменить порядок следования элементов главной диагонали на противоположный. Вывести на экран исходную и преобразованную матрицы

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

void Vvod(int n, int arr[][SIZE])

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

{ for(int j = 0; j < n; ++j){

cout << "[" << i << "]["<< j <<"]: ";

cin >> arr[i][j]; }

}}

void F(int n, int arr[][SIZE])

{ for(int i = 0; i < n/2; ++i)

{int buf =arr[i][i] ;

arr[i][i] = arr[n-i-1][n-i-1 ];

arr[n-i-1][n-i-1] = buf;

}}

void Vivod(int n,int arr[][SIZE])

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

for(int j = 0; j < n; ++j){

cout << arr[i][j] << " "; }

cout<<endl;

} cout<<endl;

}

void main(){

int A [SIZE][SIZE];

int n;

cout << "ROW " << endl;

cin >> n;

if((n > 100 && n <= 0)){

cout<<"Error size"; system("pause"); return;

}

cout << "Massiv A" << endl;

Vvod(n, A);

cout << "\nMassiv A" << endl;

Vivod(n, A);

F(n, A);

cout << "\n\nMassiv A" << endl;

Vivod(n, A);

cout << endl;

}

Вычислить значение функции f(x)=x-x3/3!+x5/5!-x7/7!+… с точностью eps

#include <iostream>

#include <windows.h>

void getInput();

double evaluate(double x, double eps);

int fact(int x);

int dn = 2;

void main()

{

setlocale(LC_ALL,".1251");

getInput();

}

void getInput()

{

double x = 0, eps = 0;

puts("Введите x и eps:");

scanf("%lf%lf", &x, &eps);

printf("%lf", evaluate(x, eps));

}

double evaluate(double x, double eps)

{

double part = x;

double sum = 0;

int sign = 1;

int n = 1;

while(abs(part) > eps)

{ part = sign*pow(x, n)/fact(n);

sum += part;

sign *= -1;

n += dn;

}

return sum;

}

int fact(int x)

{ int i = 1;

while(x > 0)

{ i = i*x;

x--;

}

return i;

}

Вариант №13

Дана матрица целых чисел A[M][N]. Вычислить сумму элементов на главной диагонали. Результат вывести на экран.

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

void Vvod(int n, int m, int arr[][SIZE])

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

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

cout << "[" << i << "]["<< j <<"]: ";

cin >> arr[i][j];}

}}

int F(int n, int m, int arr[][SIZE])

{ int sum = 0;

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

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

if(i == j) sum += arr[i][j];

}

return sum;

}

void Vivod(int n,int m,int arr[][SIZE])

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

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

cout << arr[i][j] << " "; } cout<<endl;

} cout<<endl;

}

void main(){

int A [SIZE][SIZE], sum;

int n,m;

cout << "ROW" << endl;

cin >> n;

cout << "COL" << endl;

cin >> m;

if((n > 100 && n <= 0) || (m > 100 && m <= 0 )){

cout<<"Error size"; system("pause"); return;

}

cout << "Massiv A" << endl;

Vvod(n,m, A);

cout << "\nMassiv A" << endl;

Vivod(n, m, A);

sum = F(n, m, A);

cout << "SUMMA=" <<sum<< endl;

cout << endl;

}

Вычислить значение функции f(x) = x-x2/2+x3/3-x4/4+… с точностью eps, x<1

#include <iostream>

#include <windows.h>

void getInput();

double evaluate(double x, double eps);

int fact(int x);

int dn = 1;

void main()

{ setlocale(LC_ALL,".1251");

getInput();

}

void getInput()

{ double x = 0.0, eps = 0.0;

puts("Введите x и eps:");

scanf("%lf%lf", &x, &eps);

printf("%lf", evaluate(x, eps));

}

double evaluate(double x, double eps)

{ double part = x;

double sum = 0;

int sign = 1;

int n = 1;

if(x<1)

{ while(abs(part) > eps)

{part = sign*pow(x, n)/n;

sum += part;

sign *= -1;

n += dn;

}

}

return sum;

}

int fact(int x)

{ int i = 1;

while(x > 0)

{ i = i*x;

x--;

}

return i;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]