精华内容
下载资源
问答
  • grads计算距平

    2012-04-09 20:53:22
    grads软件里编程计算距平值,可选择时间作为气候态,原始资料可以是nc资料,易懂好学,适合新手使用,特此分享。
  • 高速公路坐标高程计算软件是在多年的施工放样工作中总结出来的一个很有效的程序。它是公路、铁路施工放样的好助手,可以帮你完成以前你用很大的精力和时间完成的计算。它能在工作中给予很大的方便,使你能从繁琐的...
  • 软件主要针对铁路工务部门日常线路养护维修工作需要而开发,软件功能主要包括线路平面优化设计和线路纵断面优化设计两大功能,其中线路平面优化设计又包括坐标法和绳正法拨优化计算两个功能。软件中不管是平面...
  • CCF计算机软件能力认证试题练习:202009-1 称检测点查询 试题描述 2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他...

    CCF计算机软件能力认证试题练习:202009-1 称检测点查询

    • 试题描述
      2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。
      某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标(xi, yi)。
      为方便预约核酸检测,请根据市民所在位置(X, Y),查询距其最近的三个检测点。
      多个检测点距离相同时,编号较小的视为更近。
    • 输入
      输入共n+1行
      第一行包含用空格分隔的三个整数n、X和Y,表示检测点总数和市民所在位置。
      第二行到第n+1行依次输入n个检测点的坐标。第i+1行(1≤i≤n)包含用空格分隔的两个整数xi和yi,表示i号检测点所在位置。
    • 输出
      输出共三行,按距离从近到远,依次输出距离该市民最近的三个检测点编号。
    • 输入样例
      5 0 1
      -1 0
      0 0
      1 0
      0 2
      -1 2
    • 输出
      2
      4
      1
    • 算法思路
      这道题目的思路很简单,如果用暴力,最简单粗暴的方法就是,定义结构体数组,用for循环对检测点到检测者的距离排序,但是会遇到一个问题就是当距离相等时按编号升序,如果在输出的时候判断这种情况再排序就把问题复杂化了,既然涉及到结构体、按关键字排序,那么第一时间就应该想到优先队列,在网上找了很久优先队列的介绍但是很少,基本都是代码片,以下是我个人的理解。
    1. 优先队列举例

    下面展示一些 优先队列的实现

    #include<cstdio>
    #include<queue>
    using namespace std;
    struct node
    {
    	int x,y;
    }k;
     
     
    struct cmp1    //另辟struct,排序自定义
    {
    	bool operator () (const node & a,const node & b) const
    	{//以X为准从小到大,若X相等则比较Y,Y值大的在前 
    	    if(b.x!=a.x) return b.x<a.x;
            else  return b.y>a.y;
    	}
    };
    priority_queue <node,vector<node>,cmp1> q;  //优先列队写法
    int main()
    {
    	k.x=10,k.y=100; q.push(k);
    	k.x=14,k.y=60; q.push(k);
    	k.x=14,k.y=80; q.push(k);
    	k.x=6,k.y=80; q.push(k);
    	k.x=8,k.y=20; q.push(k);
    	while(!q.empty())
    	{
    		node m=q.top(); q.pop();
    		printf("(%d,%d) ",m.x,m.y);
    	}
    }
    

    上面的例子是我学习优先队列时在一个博客看到的,如果侵权请私信我。
    我们可以看到,它定义了一个结构体,自定义了比较器(准确术语我也不知),bool operator () (const node & a,const node & b) 参数是node类型的a,b,在if语句中又比较的是b.x和a.x,我个人一个比较笨的理解方法就是,在队列中a排在b前,b.x等于a.x,说明第一关键字相等,判断第二关键字,比较办法相同。如果b.x小于a.x返回的正数1,那么就要交换a和b,如果b.x大于a.x,无操作。感觉我说的很乱,就理解成一个排序算法就行了。

    1. 算法实现
      有了对优先队列的了解来看这道题,就会很简单,我们只需要计算距离,完成数据输入输出即可
    #include<cstdio>
    #include <iostream>
    #include<queue>
    using namespace std;
    
    int a,b;
    
    struct node
    {
    	int x,y,d,id;
    }k;
     
     
    struct cmp1    //另辟struct,排序自定义
    {
    	bool operator () (const node & a,const node & b) const
    	{//以X为准从小到大,若X相等则比较Y,Y值大的在前 
    	    if(b.d!=a.d) return b.d<a.d;
            else  return b.id<a.id;
    	}
    };
    
    int distance(){
    	int r = (k.x-a)*(k.x-a)+(k.y-b)*(k.y-b);
    	return r;
    }
    
    priority_queue <node,vector<node>,cmp1> q;  //优先列队写法
    
    int main()
    {
    	int i,n;
    	cin>>n>>a>>b;
    	for(i=1; i<=n; i++){
    		cin>>k.x;
    		cin>>k.y; 
    		k.id = i;
    		k.d = distance();
    		q.push(k);
    	}
    	i=3;
    	while(!q.empty() && i--)
    	{
    		node m = q.top(); 
    		q.pop();
    		//cout<<"id="<<m.id<<","<<m.d<<endl;
    		//printf("%d %d\n",m.x,m.y);
    		cout<<m.id<<endl;
    	}
    }
    

    此篇博客为了我以后复习看,如果给您带来困扰请谅解。欢迎一起探讨。

    展开全文
  • ccf-csp计算机软件能力认证202009-1称检测点查询(C语言版) 题目内容: 题目背景  2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群...

    ccf-csp计算机软件能力认证202009-1称检测点查询(C语言版)


    题目内容:

    题目背景
      2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。
    问题描述
      某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标(xi,yi)。为方便预约核酸检测,请根据市民所在位置(X,Y),查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。
    输入格式
      输入共n+1行。第一行包含用空格分隔的三个整数 n、X和Y,表示检测点总数和市民所在位置。第二行到第n+1行依次输入n个检测点的坐标。第i+1行(1≤i≤n)包含用空格分隔的两个整数xi和yi,表示i号检测点所在位置。
    输出格式
      输出共三行,按距离从近到远,依次输出距离该市民最近的三个检测点编号。
    样例输入1
      3 2 2
      2 2
      2 3
      2 4
    样例输出1
      1
      2
      3
    样例输入2
      5 0 1
      -1 0
      0 0
      1 0
      0 2
      -1 2
    样例输出2
      2
      4
      1
    样例2解释
    在这里插入图片描述

    评测用例规模与约定
      全部的测试点满足,3≤n≤200,所有坐标均为整数且绝对值不超过1000。
    提示市民到第i号检测点的距离Di可由如下公式算出:在这里插入图片描述

    解题思路:

      整道题分为三个步骤,存入数据,计算距离,排序。
      第一步存入数据,由于此题n较小,故通过数组即可实现。
      第二步计算距离,对每一个检测点到市民的距离进行计算(运用函数pow()和函数sqrt()进行),然后存入新的数组当中。
      第三步排序,此处运用了选择的方式,仅选择出最小的三个数值,从头开始即可保证“多个检测点距离相同时,编号较小的视为更近”这一条件,然后对已经选出的数赋值为负数,下一次选择时即可直接忽略。
      最后输出结果即可。

    提交后得100分的C语言程序如下:

    #include<stdio.h>
    #include<math.h>
    int main()
    {
    	int n,X,Y,i,k,j;
    	scanf("%d%d%d",&n,&X,&Y);
    	int s[n][2],a[3];
    	float t[n];
    	for(i=0;i<n;i++)
    	scanf("%d%d",&s[i][0],&s[i][1]);
    	for(i=0;i<n;i++)
    	t[i]=sqrt((X-s[i][0])*(X-s[i][0])+(Y-s[i][1])*(Y-s[i][1]));
    	for(i=0;i<3;i++)
    	{
    		j=0;
    		for(;t[j]==-1;j++) ;
    		for(k=j+1;k<n;k++)
    		{
    			if(t[k]==-1) continue;
    			if(t[k]<t[j]) j=k;
    		}
    	a[i]=j+1;
    	t[j]=-1;
    	}
    	for(i=0;i<3;i++)
    	printf("%d\n",a[i]);
    	return 0;
    }
    
    展开全文
  • 为方便预约核酸检测,请根据市民所在位置(x,y) ,查询其最近的三个检测点。 多个检测点距离相同时,编号较小的视为更近。 输入格式 输入共 n+1行。 第一行包含用空格分隔的三个整数 n、x 和 y,表

    题目背景

    2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。

    问题描述

    某市设有 n 个核酸检测点,编号从 1 到 n,其中 i 号检测点的位置可以表示为一个平面整数坐标(xi,yi)

    为方便预约核酸检测,请根据市民所在位置(x,y) ,查询距其最近的三个检测点。
    多个检测点距离相同时,编号较小的视为更近。

    输入格式

    输入共 n+1行。

    第一行包含用空格分隔的三个整数 n、x 和 y,表示检测点总数和市民所在位置。

    第二行到第 n+1 行依次输入 n 个检测点的坐标。第 i+1 行(1<=i<=n)包含用空格分隔的两个整数 xi
    和 yi
    ,表示 i 号检测点所在位置。

    输出格式

    输出共三行,按距离从近到远,依次输出距离该市民最近的三个检测点编号。

    样例输入1

    3 2 2
    2 2
    2 3
    2 4

    样例输出1

    1
    2
    3

    样例输入2

    5 0 1
    -1 0
    0 0
    1 0
    0 2
    -1 2

    样例输出2

    2
    4
    1

    代码如下:

    #include <iostream>
    using namespace std;
    #define max 200
    typedef struct dist
    {
        int x;
        int y;
    }dist;
    int main() {
        dist a[max];
        int n,x,y;
        cin>>n>>x>>y;
        int result[n];
        bool flag[n];
        for(int i=0;i<n;i++)
        {
            flag[i]=false;
            cin>>a[i].x>>a[i].y;
            result[i]=(a[i].x-x)*(a[i].x-x)+(a[i].y-y)*(a[i].y-y);
        }
        int num[3];
        int k;
        for(int i=n-1;i>=n-3;i--)
        {
            k=n-1;
            for(int j=n-2;j>=0;j--)
            {
                if(result[j]<=result[k] && !flag[j])
                {
                    k=j;
                }
            }
            num[n-1-i]=result[k];
            flag[k]=true;
        }
        for(int i=0;i<3;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(result[j]==num[i] && flag[j])
                {
                    cout << j + 1 << '\n';
                    flag[j]=false;
                }
            }
        }
    
        return 0;
    }
    
    展开全文
  • 在Visual Studio开发平台上,利用C#语言简单高效的特性设计窗口式的应用软件工具,可解决矿井地质日常工作计算问题,包括:地质体三角要素(倾角、平距、垂距、斜距)之间的转换计算,视倾角、真倾角换算,三点求真倾向倾角,...
  • 为了探测前车车,采用机器视觉方式,以 CCD 构造单目成像...实验证明了本系统能对前车图像进行分析从而计算出车,该系统对 3 m 之外的车检测 均误差为 4% 。 关键词: 计量学; 车检测; 机器视觉; 图像处理
  • 边长换算(地面实测边长换算至高斯平面、斜距换平距);曲率改正数的计算;似大地水准面模型格式转换(格网文件的格式转换);椭球(坐标系)转换(布尔莎模型);七参数模型参数(布尔莎模型)求解;不同ITRF之间的...
  • 随着FPGA芯片集成度的提高,加之其价格低廉的优势,越来越多的...经过OTSU算法处理之后,接着通过统计二值图像中双绞线部分的列宽,计算两个最窄列宽之间的距离即绕。最后在片上可编程系统上编写软件模块实现功能。
  • 文中利用北京站实测数据开展相关数据质量分析,利用改进后的Sky plot软件,MATLAB编制的程序计算、绘图,直观反映出GEO、IGSO和MEO卫星高度角、方位角以及伪多路径误差,通过分析得出它们之间的相关性。最后通过解算,...
  • 所以在运行中,如何稳像成为十分重要的问题,特别是在长焦、高分辨力的监视跟踪系统中更加突出。具璞蒿、实性性强、体积小巧等特点,得到更广泛的应用。  稳像系统的反应速度是电子稳像要解决的关键技术之一。...
  • 实际上好多软件都有这个算法的。我这里班门弄斧了。1、计算圆心坐标根据圆上任意点到圆心的距离相等,列方程;联立方程组,求解圆心坐标(这里提一下,matlab可以直接解方程)代码如下:%{本函数用于求解平面圆的圆心...

    介绍一种圆弧插值方法:

    这是实际应用中有人需要这个功能而设计的。实际问题是:已知道路转弯处三个点,拟合出这个道路的弯。

    实际上好多软件都有这个算法的。我这里班门弄斧了。

    1、计算圆心坐标

    根据圆上任意点到圆心的距离相等,列方程;联立方程组,求解圆心坐标(这里提一下,matlab可以直接解方程)代码如下:

    %{本函数用于求解平面圆的圆心坐标和半径求解思路:构造圆的方程,解方程组(圆上任一点到圆心的距离相等)输入:圆上三个点的坐标输出:圆的圆心坐标(x0,y0)和半径r%}function [x0,y0,r] = FindParametersOfACircle(pointsTab)% 定义圆心坐标syms x0 y0% 各点到圆心的距离(即半径r)s1=sqrt((pointsTab(1,1)-x0)^2+(pointsTab(1,2)-y0)^2);s2=sqrt((pointsTab(2,1)-x0)^2+(pointsTab(2,2)-y0)^2); s3=sqrt((pointsTab(3,1)-x0)^2+(pointsTab(3,2)-y0)^2); % 构造方程组eq1=s1-s2;eq2=s2-s3; % 解方程组,得圆心坐标[x0,y0]=solve(eq1,eq2);% 输出待求参数x0 = double(x0);y0 = double(y0);r = sqrt((pointsTab(1,1) - x0)^2+(pointsTab(1,2) - y0)^2);

    2、计算方位角

    插值过程需要计算圆上点的坐标。但是问题是:圆是方程,不是函数,必须分段处理,不够方便。所以将圆参数化,那么,插值范围就不再是x或y的最大最小值了,而是方位角的最大最小值。这里给出已知两点求方位角的代码:

    %由两点计算方位角function [fw] = getFWfrom2points(x0,y0,x1,y1)detx = x1-x0;dety = y1-y0;if detx == 0    if dety >= 0        fw = pi()/2;    else        fw = pi()*3/2;    endelse    if detx > 0 && dety >= 0        fw = atan(dety/detx);    elseif detx < 0 && dety >=0        fw = pi() - atan(-dety/detx);    elseif detx < 0 && dety < 0        fw = pi() + atan(dety/detx);    else        fw = 2*pi() - atan(-dety/detx);    endend

    3、插值

    交互输入插值点的数量,确定点的圆滑程度。

    确定步长,遍历计算即可。

    %{圆弧加密函数输入:加密区间,即圆弧的起点和终点坐标     圆的参数,即圆心坐标和半径     加密点个数num输出:加密点坐标%}function  [pointsTab] = ArcEncryption(x1,y1,x2,y2,x0,y0,r,num)[alpha0] = getFWfrom2points(x0,y0,x1,y1);[alpha1] = getFWfrom2points(x0,y0,x2,y2);detalpha = (alpha1 - alpha0)/num;jsq = 0;for i = alpha0:detalpha:alpha1    jsq = jsq + 1;    asd = cos(i);    asdasd = sin(i);    pointsTab(jsq,1) = r*cos(i) + x0;    pointsTab(jsq,2) = r*sin(i) + y0;end

    4、主函数如下:

    %% main函数clc;clear;close all;% pointsTab里是圆弧上三个点的坐标[x1 y1;x2 y2;x3 y3]% 实际应用中,将这三个点替换为自己需要输入的点即可pointsTab = [564675.019 3467079.061;564841.178 3467117.161;564960.770 3467217.703];A(:,1) = pointsTab(:,1) - min(pointsTab(:,1));A(:,2) = pointsTab(:,2) - min(pointsTab(:,2));[x0,y0,r] = FindParametersOfACircle(A);% num为插值点的个数% 实际应用中,需要插值多少个点就将数字20改成相应的数值num = 20;[B] = ArcEncryption(A(1,1),A(1,2),A(3,1),A(3,2),x0,y0,r,20);% C矩阵中存储了插值点的坐标% 第一列为x坐标,第二列为y坐标C(:,1) = B(:,1) + min(pointsTab(:,1));C(:,2) = B(:,2) + min(pointsTab(:,2));plot(C(:,1),C(:,2));hold on;plot(pointsTab(:,1),pointsTab(:,2));axis equal;msgbox '';

    结果如下:

    b051cef3ca2aba5c98c516d5e8f28b8a.png

    18df9c6a863adab228156422d89d5b52.png

    2f1396a44aa9a558584ee5786dde0d55.png

    62fafea598c9d423375d05d55f1e5492.png

    展开全文
  • 软件通过对工作面液压支架监测数据的处理分析,可生成综采面三维动态矿压全程图像及对应的工作面任意位置二维相关图形,并计算出工作面来压步、支架时间加权平均工作阻力、循环末阻力等主要矿压参数;实现工作面液压...
  • 该数值分析软件(Numerical Analysis Software)实现了现代数值分析中的基本计算方法。主要包括线性方程组的数值解法、非线性方程的数值解法、矩阵的特征值及特征向量的计算、插值法与最小二乘法曲线拟合、数值微积分...
  • 手机测量程序4.0

    2013-04-25 18:18:17
    软件可同时计算整条线路的中桩或边桩的坐标,支持不限数量条线路; 2、可以解算任何复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等; 3、可以计算与中线非正交交叉的特殊点位的坐标; 4、平面反查功能,输入...
  • 叙述具有同轴对准特性的光学投影物镜双远心结构和均匀照明光学系统原理。为了满足i线光刻所需的光学传递函数要求,讨论了...用本文模拟计算软件OPENG计算被照像平面上的光能分布,说明实际系统的照明不均匀性为土2%。
  • 基于简化计算机与外部串行设备或其他计算机之间串口通信软件开发流程的目的,...总的来说,本文设计的上位机串口通信程序简单易懂,相应的监控界面也简洁易用,两者结合在实际近串口通信中拥有一定的实用与参考价值。
  • 在用大口径、长焦平行光管模拟激光远场特性时,其光组透镜在重力作用下的变形不能忽略,为了分析对出射光束质量的影响,采用有限元分析软件“ANSYS”建立了平行光管光组中??400 mm凸透镜的有限元模型,给出一种分析...
  • 针对平山煤矿首采煤层11011工作面采空区瓦斯浓度较高和上隅角瓦斯超限问题,提出...把高位钻孔布置在双"U"的外"U"中,离回风巷平距20 m处开孔,开孔高度为4 m。现场实验数据显示,该抽放技术使得上隅角瓦斯浓度低于0.5%。
  • 应聘职位:软件开发工程师-数据平台 1.状态转换图,有限自动机,正则表达式 2.最小堆,删除堆根节点,画出任意结果 3.Heap与stack在进程中的区别 4.硬盘概率问题,对立事件,独立事件,平均分布,一季度...
  • 四、明挖断面及道路横断面CAD分析模块:主要功能有明挖断面数据预处理及编辑优化处理,单个断面分析和编辑,批量断面成图,道路对边测量断面高差和平录入程序,道路超高和加宽计算,道路标准横断面设置,道路边沟...
  • 通过像差理论计算和ZEMAX光学设计软件的设计,在满足了超长焦距高分辨率和结构长度小于4 m的要求的情况下,设计了一个视场为1.5°×0.3°、相对口径为1/9、焦距长度为23333 mm,结构长度做到了3314 mm的光学系统。...
  • 所以在运行中,如何稳像成为十分重要的问题,特别是在长焦、高分辨力的监视跟踪系统中更加突出。具璞蒿、实性性强、体积小巧等特点,得到更广泛的应用。  稳像系统的反应速度是电子稳像要解决的关键技术之一。...
  • 所以在运行中,如何稳像成为十分重要的问题,特别是在长焦、高分辨力的监视跟踪系统中更加突出。具璞蒿、实性性强、体积小巧等特点,得到更广泛的应用。  稳像系统的反应速度是电子稳像要解决的关键技术之一。...
  • 2、带旋转效果的立体图像的设计:在PSD图档中,选中要做旋转的图层,画面旋转一周的视觉效果为画面相近两个部分的重叠,根据这两部分的夹角计算旋转一次的度数和旋转次数,然后进行填充,建立新的图层, 3、带缩放...
  • 语音识别的MATLAB实现

    热门讨论 2009-03-03 21:39:18
    若判断出指令信号后,则相应的信号线上输出高电,该电路导通,发送无线信号。若无指令,则信号线上输出低电平,电路断路,不发送无线信号。电路示意图如下:(由于四条线路基本是一致的,这里只画出了其中的一根...
  • GSP5.exe

    2020-04-01 09:16:40
    如图,无论是改变两圆的大小,还是圆心,直线和圆的关系保持不变,即直线始终是两圆的外公切线。 二、思路分析 我们在寻求外公切线的作法以前,先看看下图,是否能想起过圆外一个作圆的切线的的尺规作法 以PO为...
  • 日梭万年历

    2007-09-05 22:19:04
    <br> 日梭万年历与国际上著名的天体位置计算软件相比较,与中国科学院紫金山天文台编写的历年中国天文年历相比较,各种时间信息的最大误差都只有一分钟,是可以信赖的高精度万年历。 <br> 本程序为纯绿色软件...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

平距计算软件