Семинар 3
3.1
Создать программу, вычисляющую расстояние между двумя точками на плоскости, координаты которых указывает пользователь.
#include <iostream> #include <cmath> using namespace std; int main() { double x1,y1,x2,y2,dist; cout << "Vvedite abscissy pervoj tochki: "; cin >> x1; cout << "Vvedite ordinaty pervoj tochki: "; cin >> y1; cout << "Vvedite abscissy vtoroj tochki: "; cin >> x2; cout << "Vvedite ordinaty vtoroj tochki: "; cin >> y2; dist = abs(sqrt(pow(x1-x2,2)+pow(y1-y2,2))); cout << "Rasstoyanije mejdu tochkami: " << dist << endl; return 0; }
3.2.
Создать программу, которая будет вычислять, сколько указанный пользователем в секундах временной интервал, содержит полных часов и минут.
#include <iostream> #include <cmath> using namespace std; int main() { int time, hours, minutes; cout << "Ukajite vremennoj interval v secundah: "; cin >> time; hours = time/3600; minutes = (time%3600)/60; cout << "V etom intervale soderjitsa: " << hours << " h " << minutes << " m " << endl; return 0; }
3.3.
Создать программу, выводящую на экран три числа, введённых пользователем, в виде неубывающей последовательности.
#include <iostream> #include <cmath> using namespace std; int main() { double a,b,c; cout << "Enter first number: "; cin >> a; cout << "Enter second number: "; cin >> b; cout << "Enter third number: "; cin >> c; if(a>=b&&a>=c&&b>=c) { cout << c << " " << b << " " << a << endl; } else if(a>=b&&a>=c&&b<=c) { cout << b << " " << c << " " << a << endl; } else if(a>=b&&a<=c&&b<=c) { cout << b << " " << a << " " << c << endl; } else if(a<=b&&a<=c&&b<=c) { cout << a << " " << b << " " << c << endl; } else if(a<=b&&a<=c&&b>=c) { cout << a << " " << c << " " << b << endl; } else { cout << c << " " << a << " " << b << endl; } return 0; }
3.4.
Создать программу, которая вычислит и выведет периметр и площадь прямоугольного треугольника по длинам двух катетов, указанных пользователем.
#include <iostream> #include <cmath> using namespace std; int main() { double a,b,c,S,P; cout << "Enter first katet: "; cin >> a; cout << "Enter second katet: "; cin >> b; if(a>0&&b>0) { S = (a*b)/2; c = sqrt(pow(a,2)+pow(b,2)); P = a+b+c; cout << "Ploshad pryamoygolnogo treygolnika: " << S << endl; cout << "Perimet pryamoygolnogo treygolnika: " << P << endl; } else { cout << "Katet doljen bit bolojitelnim chislom" << endl; } return 0; }
3.5
Создать программу, вычисляющую площадь произвольного треугольника по длинам трёх сторон, указанных пользователем с клавиатуры. Перед вычислением проверить, может ли существовать треугольник с указанными сторонами.
#include <iostream> #include <cmath> using namespace std; int main() { double a, b, c, p, S; cout << "Vvedite dliny pervoj storoni: "; cin >> a; cout << "Vvedite dliny vtoroj storoni: "; cin >> b; cout << "Vvedite dliny tretej storoni"; cin >> c; if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a) { p = (a+b+c)/2; S = sqrt(p*(p-a)*(p-b)*(p-c)); cout << "Ploshad treygolnika ravna: " << S << endl; } else { cout << "Treygolnik postroit nelzja" << endl; } return 0; }
3.6
Создать программу, которая будет находить вещественные корни квадратного уравнения ax2+bx+c=0, по введённым пользователем с клавиатуры коэффициентам a, b и c.
#include <iostream> #include <cmath> using namespace std; int main() { double a, b, c, d, x1, x2; cout << "Vvedite koeffitsient pri kvadrate x: "; cin >> a; cout << "Vvedite koeffitsient pri x: "; cin >> b; cout << "Vvedite svobodnij chlen: "; cin >> c; if(a!=0) { d = pow(b,2)-4*a*c; if(d>=0) { x1 = (-b+sqrt(d))/(2*a); x2 = (-b-sqrt(d))/(2*a); cout << "Yravnenije imeet dva kornja: " << x1 << " and " << x2 << endl; } else { cout << "Yravnenije ne imeet kornej" << endl; } } else { x1 = -c/b; cout << "Yravnenije imeet odin koren" << x1 << endl; } return 0; }
3.7
Пользователь указывает коэффициенты для общего уравнения прямой Ax+By+C=0. Создать программу, которая рассчитает под каким углом в градусах прямая пересечёт координатную ось абсцисс.
Для решения задачи потребуется функция atan(x) из библиотеки cmath. Она для указанного вещественного значения тангенса x возвращает соответствующий ему угол в радианах.
#include <iostream> #include <cmath> using namespace std; int main() { double a,b,c,k; cout << "Nado vvesti keffitsienti dlya yravneniya prjamoj: Ax+By+C=0" << endl; cout << "Vvedite koeffitsient pri x (A): "; cin >> a; cout << "Vvedite koeffitsient pri y (B): "; cin >> b; cout << "Vvedite C: "; cin >> c; k = atan(b/a); k = k*180/M_PI; cout << "Ygol naklona: " << k; return 0; }
|