zoukankan      html  css  js  c++  java
  • 计算两条直线的交点C语言

    呵呵,有点急。。。

    #include<stdio.h>

    typedef 
    struct point{
        
    int x;
        
    int y;
    }point;

    typedef 
    struct line{
        point point1;
        point point2;
    }line;

    //计算两条直线的交点
    point getCross(line line1, line line2)
    {
        point CrossP;
        
    //y = a * x + b;
        int a1 = (line1.point1.y - line1.point2.y) / (line1.point1.x - line1.point2.x);
        
    int b1 = line1.point1.y - a1 * (line1.point1.x);

        
    int a2 = (line2.point1.y - line2.point2.y) / (line2.point1.x - line2.point2.x);
        
    int b2 = line2.point1.y - a1 * (line2.point1.x);

        CrossP.x 
    = (b1 - b2) / (a2 - a1);
        CrossP.y 
    = a1 * CrossP.x + b1;
        
    return CrossP;
    }

    void main()
    {
        line line1;
        line line2;

        
    //line1
        line1.point1.x = 10;
        line1.point1.y 
    = 10;
        line1.point2.x 
    = 50;
        line1.point2.y 
    = 50;

        
    //line2
        line2.point1.x = 2;
        line2.point1.y 
    = 60;
        line2.point2.x 
    = 60;
        line2.point2.y 
    = 0;

        point CointP 
    = getCross(line1, line2);
        printf(
    "%d,%d\n", CointP.x, CointP.y);

    }
  • 相关阅读:
    Educational Codeforces Round 49 (Rated for Div. 2)
    Codeforces Round #506 (Div. 3)
    multiset
    C++中substr函数的用法
    7.30 背包问题
    7.29 dp动态规划
    7.27 图论 存图 前向星 最短路 dijstra算法 SPFA算法
    7.26 搜索进阶(状压搜索,迭代加深搜索)
    7.23 深搜广搜
    7.24 二分搜索
  • 原文地址:https://www.cnblogs.com/liulei/p/1756909.html
Copyright © 2011-2022 走看看