Задание № 1 Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
При x = 6.251, y = 0.827, z = 25.001 b = 0.7121.
Текст программы: #include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { double x, y, z; double b; double a1, a2, a3, a4; //Ввод исходных значений cout << "\n Enter x,y,z - " << endl; cin >> x >> y >> z; //Вычисление значения результата a1 = pow(y, pow(fabs(x), 1/3.)); a2 = pow(cos(y), 3) * fabs(x - y); a3 = 1 + pow(sin(z), 2) / sqrt(x + y); a4 = exp(fabs(x-y)) + x/2; b = a1 + a2 * a3 / a4; //Вывод ответа на экран cout << "\n x = " << x << "\n y = " << y << "\n z = " << z << "\nB = " << b << endl; cout << "Press any key ... " << endl; getch(); return 0; }
Результат выполнения:
Задание № 2 Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. rez = Текст программы: #include <iostream> #include <conio.h> #include <math.h> using namespace std; void main() { double p, z, rez; cout << " Input p, z" << endl; cin >> p >> z; if (p > z + 1) { rez = log(fabs(p-z)) + pow(cos(p), 2); cout << " p > z + 1\n"; cout << " Rez = " << rez; } else { if (p <= z + 1 && p > 0) { rez = pow(z, 3) - log(fabs(p) + fabs(z)); cout << " 0 < p <= z + 1" << endl; cout << " Rez = " << rez; } else cout << " Function Rez is not identified.\n"; } cout <<"\nPress any key ... \n"; getch(); }
Результаты выполнения:
Задание № 3 Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. ,
Текст программы: #include <iostream> #include <conio.h> #include <math.h> using namespace std; void main() { double a, b, h, s, y, x; int n, k; double z; cout << "Input a, b, h, n:" << endl; cin >> a >> b >> h >> n; for(x = a; x < b+h; x += h) { s = 0; y = 0; z = 0; for (k = 0; k <= n; k++) { z = (k*k + 1) * pow(x/2.0, k); for (int i = 1; i < k; i++) z /= i; s += z; } y = (x*x/4 + x/2 + 1) * exp(x/2.0); printf("\n x=%7.2lf s(x)=%10.5lf y(x)=%10.5lf |y(x)-s(x)|=%10.5lf",x,s,y,fabs(y - x)); } cout << "\nPress any key ... " << endl; getch(); }
Результат выполнения:
Задание № 4 В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить сумму элементов массива, расположенных после минимального элемента.
Текст программы: #include <iostream> #include <conio.h> #include <math.h> using namespace std; int main() { int a[20], n, i, imin, min, s = 0; cout << " Input N ( N <= 20): \n"; cin >> n; cout <<"\n Input massiv A:\n"; for(i = 0; i < n; i++) { cout << "a[ " << i+1 << " ] = "; cin >> a[i]; } imin = 0; min = a[0]; for (i = 1; i < n; i++) { if (a[i] < min) { imin = i; min = a[i]; } } for (i = imin + 1; i < n; i++) s += a[i]; cout << "\n Min = " << min; cout << "\n Min index = " << imin+1; cout << "\n Summa = " << s; cout << "\n Press any key ... " << endl; getch(); return 0; }
Результат выполнения:
Задание № 5 В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти число элементов массива < T (вводится с клавиатуры) и их сумму.
Текст программы: #include <iostream> #include <conio.h> #include <math.h> using namespace std; // Описание прототипа функции int Fun_Sum_Less_T(int **mas, int n, int m, int *kol, int t); int main() { int **a, i, j, n, m, sum, kol, t; cout << " Input N, M : "; cin >> n >> m;
a = new int*[n]; // Захват памяти под указатели for(i=0; i<n;i++) a[i] = new int[m]; // Захват памяти под элементы //Ввод массива cout <<"\n Input A:\n"; for(i = 0; i < n; i++) for(j = 0; j < m; j++) { cout << " a[" << i+1 << "][" << j+1 << "] = "; cin >> a[i][j]; } //Ввод числа T cout << "\n Input t: \n" ; cin >> t; //Вывод массива на экран cout <<"\n Matrix A:" << endl; for(i = 0; i < n; i++) { for(j = 0; j < m; j++) cout << " " << a[i][j]; cout << endl; } // Обращение к функции поиска суммы sum = Fun_Sum_Less_T(a, n, m, &kol, t); cout << "Kol = " << kol << " Sum = " << sum << endl; // Освобождение памяти for (i = 0; i < n; i++) delete [] a[i]; delete [] a; cout << "\n Delete !" << endl; cout << " Press any key ... " << endl; getch(); } /* Реализация описанной выше функции, в заголовке которой указаны формальные параметры, идентификаторы которых обрабатываются в её коде */ int Fun_Sum_Less_T(int **mas, int n, int m, int *kol, int t) { int s = 0; int i, j; *kol = 0; for (i = 0; i < n; i++) for (j = 0; j < m; j++) { if (mas[i][j] < t) { (*kol)++; s += mas[i][j]; } } return s; }