Определить, лежат ли точки на одной прямой - C (СИ) (79191)
Формулировка задачи:
Листинг программы
- int main(int argc, char** argv) {
- int x1, y1, x2, y2, x3, y3;
- int d1, d2, d3;
- printf("Координаты точки A:\n");
- if (scanf("%d%d", &x1, &y1) != 2) {
- printf("Неверный ввод.\n");
- return 0;
- }
- printf("Координаты точки В:\n");
- if (scanf("%d %d", &x2, &y2) != 2) {
- printf("Неверный ввод.\n");
- return 0;
- }
- printf("Координаты точки C:\n");
- if (scanf("%d %d", &x3, &y3) != 2) {
- printf("Неверный ввод.\n");
- return 0;
- }
- if (((x1 - x2) == (y2 - y1))) {
- printf("Точки совпадают.\n");
- return 0;
- } else if (((x2 - x3) == (x3 - y2))) {
- printf("Точки совпадают.\n");
- return 0;
- } else if (((x1 - x3) == (y3 - y1))) {
- printf("Точки совпадают.\n");
- return 0;
- }
- d1 = sqrt(((x1 * x1) + (x2 * x2) - 2 * x1 * x2) + ((y1 * y1) + (y2 * y2) - 2 * y1 * y2));
- d2 = sqrt(((x1 * x1) + (x3 * x3) - 2 * x1 * x3) + ((y1 * y1) + (y3 * y3) - 2 * y1 * y3));
- d3 = sqrt(((x2 * x2) + (x3 * x3) - 2 * x2 * x3) + ((y2 * y2) + (y3 * y3) - 2 * y2 * y3));
- double z1 = (double)((y3 * x2)-(y3 * x1)-(y1 * x2)+(y1 * x1));
- double z2 = (double)((y2 * x3)-(y2 * x1)-(y1 * x3)+(y1 * x1));
- if (z1 == z2)
- printf("Точки лежат на одной прямой.\n"); {
- if ((d1 > d2) && (d2 > d3))
- printf("Между А и С точка B.\n");
- if ((d1 > d3) && (d3 > d2))
- printf("Между А и В точка C.\n");
- if ((d2 > d1) && (d1 > d3))
- printf("Между В и С точка A.\n");}
- else {
- printf("Точки не лежат на одной прямой.\n");
- }
- return (EXIT_SUCCESS);
- }
Решение задачи: «Определить, лежат ли точки на одной прямой»
textual
Листинг программы
- if (z1 == z2){
- printf("Точки лежат на одной прямой.\n");
- if ((d1 > d2) && (d2 > d3))
- printf("Между А и С точка B.\n");
- if ((d1 > d3) && (d3 > d2))
- printf("Между А и В точка C.\n");
- if ((d2 > d1) && (d1 > d3))
- printf("Между В и С точка A.\n");}
- else {
- printf("Точки не лежат на одной прямой.\n");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д