дз 1 семестр / ДЗ 2
.docxДомашняя работа №2
Задание 1
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "RUS");
float a, b, c, S, p;
int n, m, i;
printf("Введите n.\n");
scanf_s("%d", &n);
m = 0;
for (i=1;i<=n;i++)
{
printf("Введите стороны треугольника a,b,c.\n");
scanf_s("%f%f%f", &a, &b, &c);
if ((a + b > c) && (a + c > b) && (b + c > a))
{
p = (a + b + c) / 2;
S = sqrt(p * (p - a) * (p - b) * (p - c));
m = m + 1;
printf("Площадь треугольника = %f.\n", S);
}
else printf("Треугольника не существует. \n");
}
printf("Существующих треугольников = %d.", m);
_getch();
return 0;
}
Задание 2
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "RUS");
float a, b, c, x, x1, x2, D;
int i, n, m, h;
m = 0;
h = 0;
printf("Введите n.\n");
scanf_s("%d", &n);
for (i = 1;i <= n; i++)
{
printf("Введите a,b,c.\n");
scanf_s("%f", &a);
scanf_s("%f", &b);
scanf_s("%f", &c);
D = b * b - 4 * a * c;
if (D > 0)
{
x1 = (-b + sqrt(D)) / (2 * a);
x2 = (-b - sqrt(D)) / (2 * a);
printf("x1 = %f, x2 = %f\n", x1, x2);
if (x1 == x2) m = m + 1;
else h = h + 1;
}
else if (D == 0)
{
x = -b / (2 * a);
printf("x = %f\n", x);
}
else printf("Нет корней.\n");
}
printf("Количество уравнений с равными корнями = %d.\n", m);
printf("Количество уравнений с разными корнями = %d.\n", h);
_getch();
return 0;
}
Задание 3
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "RUS");
int i, n, q;
float r, x, y, o;
q = 0;
printf("Введите количество точек.\n");
scanf_s("%d", &n);
printf("Введите радиус круга.\n");
scanf_s("%f", &r);
for (i = 1; i <= n; i++)
{
printf("Введите координаты точки.\n");
scanf_s("%f%f", &x, &y);
o = sqrt(x * x + y * y);
if (o <= r)
{
printf("Точка с координатами (%f;%f) входит в окружность радиуса %f.\n", x, y, r);
q = q + 1;
}
else printf("Точка с координатами (%f;%f) не входит в окружность радиуса %f.\n", x, y, r);
}
printf("Количество точек, попавших в окружность = %d.", q);
_getch();
return 0;
}
Задание 4
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "RUS");
int i, k, q1, q2, q3, q4;
float x, y;
printf("Введите количество точек.\n");
scanf_s("%d", &k);
q1 = 0;
q2 = 0;
q3 = 0;
q4 = 0;
for (i = 1; i <= k; i++)
{
printf("Введите координату x точки.\n");
scanf_s("%f", &x);
printf("Введите координату y точки.\n");
scanf_s("%f", &y);
if (x > 0 and y > 0) q1 = q1 + 1;
else if (x < 0 and y>0) q2 = q2 + 1;
else if (x < 0 and y<0) q3 = q3 + 1;
else q4 = q4 + 1;
}
printf("Количество точек, вошедших в первую четверть = %d.\n", q1);
printf("Количество точек, вошедших во вторую четверть = %d.\n", q2);
printf("Количество точек, вошедших в третью четверть = %d.\n", q3);
printf("Количество точек, вошедших в четвёртую четверть = %d.\n", q4);
_getch();
return 0;
}