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

к.р.№1 (13 вариант 2010)

.doc
Скачиваний:
19
Добавлен:
01.04.2014
Размер:
243.71 Кб
Скачать

Вариант 13

Задание 1

Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.

.

При x = 17.421, y = 10.36510-3, z = 0.828105f = 0.33056.

Решение:

#include <math.h>

#include <conio.h>

#include <iostream>

using namespace std;

void main(void) {

float x, y, z, f;

x = 17.421f;

y = 0.010365f;

z = 82800.0f;

f = pow( y + pow( x-1 , 1/3.0f ), 1/4.0f ) / (abs(x-y)*(sin(z)*sin(z) + tan(z)));

cout << "f = " << f << endl;

cout << "Press any key to continue";

getch();

}

Задание 2

Составить программу для вычисления значения rez в зависимости от поставленного условия.

rez =

Решение:

#define _USE_MATH_DEFINES

#include <math.h>

#include <stdio.h>

#include <iostream>

#include <conio.h>

using namespace std;

void main(void) {

float k, p, rez;

cout << "Enter k: ";

cin >> k;

cout << "Enter p: ";

cin >> p;

if( k > abs(p) ) {

rez = (atan(7*k) - 5*p)/(2*sin(k*k)+3*p*p);

cout << "k > |p|" << endl;

cout << "s = " << rez;

}

else if ( k > 0.1f*abs(p) ) {

rez = abs(k-p)*(M_PI/2.0f - atan(2*k));

cout << "0.1*|p| < k <= |p|" << endl;

cout << "s = " << rez;

}

else {

cout << "Nope";

}

printf("\nPress any key to exit");

getch();

}

Задание 3

Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры.

, .

Решение:

#include <math.h>

#include <conio.h>

#include <iostream>

using namespace std;

int fact( int value ) {

if( value == 0 )

return 1;

int f = 1;

for( int i = 1; i <= value; ++i ) {

f *= i;

}

return f;

};

float my_func( float x, int n ) {

float s = 0;

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

s += pow(-1.0f, k) * pow(2.0f*x,2*k) / (float)fact( 2*k );

}

return s;

}

void main(void) {

float a, b, h, y, s;

int n;

cout << "Enter a: ";

cin >> a;

cout << "Enter b: ";

cin >> b;

cout << "Enter h: ";

cin >> h;

cout << "Enter n: ";

cin >> n;

for( float x = a; x < b; x+=h ) {

s = my_func( x, n );

y = 2.0f*(cos(x)*cos(x)-1.0f);

cout << "S(x)=" << s << "; Y(x)=" << y << "; |Y(x)-S(x)|=" << abs(y-s) <<"; x=" << x << endl;

}

cout << "\nPress any key to exit";

getch();

}

Задание 4

В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить:

Сумму модулей элементов массива, расположенных после первого отрицательного элемента.

Решение:

#include <iostream>

using namespace std;

#include <stdlib.h>

#include <math.h>

#include <conio.h>

// ввод значений массива

void mass_in( int *m, int n ) {

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

cout << "M[" << i << "] = ";

cin >> m[i];

}

}

void main(void) {

const int size = 10;

int m[size];

// ввод значений массива

cout << "\nEnter array:\n";

mass_in( m, size );

int ind = -1;

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

if( m[i] < 0 ) {

ind = i + 1;

break;

}

}

int s = 0;

if( ind != -1 ) {

for( int i = ind; i < size; ++i ) {

s += abs( m[i] );

}

cout << "S = " << s << "; Count = " << size - ind << endl;

}

else {

cout << "There are no negative elements\n";

}

cout << "Press any key to exit";

getch();

}

Задание 5

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.

Найти число элементов массива = T* и сложить эти элементы.

Решение:

#include <iostream>

using namespace std;

#include <stdlib.h>

#include <conio.h>

void get_sum( int *count, int *sum, int t, int *mass, int size ) {

*sum = 0;

*count = 0;

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

if( mass[i] == t ) {

(*count) ++;

*sum += mass[i];

}

}

}

void matrix_in( int *matrix, int n, int m ) {

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

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

cout << "MATRIX[" << j << "][" << i << "] = ";

cin >> *(matrix + j*m + i);

}

}

}

int main(void) {

int *matrix;

int n, m;

cout << "Enter N: ";

cin >> n;

cout << "Enter M: ";

cin >> m;

matrix = new int[n*m];

if( !matrix ) {

cout << "Memory allocation error";

return 1;

}

cout << "Enter matrix:\n";

matrix_in( matrix, n, m );

int t;

cout << "Enter T: ";

cin >> t;

int count;

int sum;

get_sum( &count, &sum, t, matrix, n*m );

cout << "\nCount: " << count << "; Sum = " << sum << ";";

cout << "\nPress any key to exit";

getch();

return 0;

}