当前位置:首页 » 编程软件 » 三角形编程

三角形编程

发布时间: 2022-01-08 15:45:41

❶ C++ 编程,三角形类

#include "iostream.h"
#include "math.h"
class CPoint//定义点
{
private:
double x,y;
public:
CPoint(double a,double b){x=a;y=b;}//构造函数
CPoint(){x=0;y=0;}
void Set(double a,double b){x=a,y=b;}//设置点坐标
double GetX(){return x;}
double GetY(){return y;}
};
class CTreiangle//三角形类
{
private:
CPoint x,y,z;
double s1,s2,s3;
public:
void SetTriangle(CPoint P1,CPoint p2,CPoint P3);
bool Test();
double Area();
};
void CTreiangle::SetTriangle(CPoint P1,CPoint p2,CPoint p3)//设置三角形的三个点并计算三条边的边长
{
x=P1;
y=p2;
z=p3;
s1=sqrt((x.GetX()-y.GetX())*(x.GetX()-y.GetX())+(x.GetY()-y.GetY())*(x.GetY()-y.GetY()));
s2=sqrt((x.GetX()-z.GetX())*(x.GetX()-z.GetX())+(x.GetY()-z.GetY())*(x.GetY()-z.GetY()));
s3=sqrt((z.GetX()-y.GetX())*(z.GetX()-y.GetX())+(z.GetY()-y.GetY())*(z.GetY()-y.GetY()));
}
bool CTreiangle::Test()//检测是不是三角形,原理三点不共线
{
if((y.GetX()-x.GetX())*z.GetY()==(y.GetY()-x.GetY())*z.GetX()+x.GetY()*y.GetY()-x.GetY()*x.GetY()-x.GetX()*y.GetY()+y.GetX()*x.GetY())
return false;
else
return true;
}
double CTreiangle::Area()//应用海伦公式计算面积并返回
{
double p,area;
p=(s1+s2+s3)/2.0;
area=sqrt(p*(p-s1)*(p-s2)*(p-s3));
return area;
}
int main()
{
CPoint temp[3];//定义三个点
double tempx,tempy;
CTreiangle treiangle;
while(1)
{
for(int i=0;i<3;i++)
{
cout<<"请输入第"<<i+1<<"个点的X坐标"<<endl;
cin>>tempx;
cout<<"请输入第"<<i+1<<"个点的Y坐标"<<endl;
cin>>tempy;
temp[i].Set(tempx,tempy);
}
treiangle.SetTriangle(temp[0],temp[1],temp[2]);
if(!treiangle.Test())
{
cout<<"输入数据不合法不能够形成三角形"<<endl;
cout<<"重新输入数据"<<endl;
}
else
{
cout<<"三角形的面积为"<<treiangle.Area()<<endl;
cout<<"重新输入数据"<<endl;
}
}
return 0;
}
VC6.0编译运行通过
测试图,以3,4,5为例

❷ 三角形如何编程

下面这个程序是用鼠标画出三角形,不知道你是不是要这种答案了?

Dim paintnow As Boolean
Private Sub Form_Load()
Width = 40
ForeColor = RGB(0, 0, 0)
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
paintnow = True
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If paintnow Then
PSet (X, Y)
End If

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
paintnow = False
End Sub

❸ C语言,怎么编程判断三角形的形状

从小到大排序:a<=b<= c

如果a+b>c,是三角形,否则不是三角形[三角形两边之和大于第三边]

三边相等:等边三角形
两边相等:等腰三角形
a*a+b*b=c*c:直角三角形

java 编程 三角形

按照你的要求编写的Java程序如下:

importjava.util.Scanner;

publicclassD{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("请输入三角形的三个边:");

inta=sc.nextInt();

intb=sc.nextInt();

intc=sc.nextInt();if((a+b<=c)||(a+c<=b)||(b+c<=a)){

System.out.println("这不是三角形!");

}elseif(a==b&&b==c){

System.out.println("这是等边三角形!");

}elseif(a==b||b==c||a==c){

System.out.println("这是等腰三角形!");

}elseif(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b){

System.out.println("这是直角三角形!");

}elseif((a*a+b*b>c*c)||(a*a+c*c>b*b)||(b*b+c*c>a*a)){

System.out.println("这是锐角三角形!");

}elseif((a*a+b*b<c*c)||(a*a+c*c<b*b)||(b*b+c*c<a*a)){

System.out.println("这是钝角三角形!");

}

}

}

❺ C语言编程(三角形问题)

1.两边之和大于第三边 且 两边之差小于第三边 这条件能构成三角形
2.a=b=c等边三角形.1成立a=b,c;b=a,c为等腰三角形

❻ 编程数字三角形

递归是不行的,规模太大,用动归,比如第二行,有两个数,他们都应该是第一行的数过来的,所以到第二行的路就是(1,1)到(2,1)和(2,2)加和,第三行,对(3,2)这个数,可能是由(2,1)过来,也可能从(2,2)来,看这两个里存的加和哪个大,就是哪个来的,把它加到第三行里,明白吗?

❼ C语言 编程 关于三角形的

#include<stdio.h>
void angle(int n)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
int main(void)
{
int n;
printf("please input n:\n");
scanf("%d",&n);
angle(n);
return 0;
}

❽ 数字三角形 用C++编程

#include<iostream.h>
#define n 5 //设定三角形为5层,可修改
void main()
{
int sum=0,a[n][n],i,j,max;
cout<<"请按行输入三角形值:\n";
for(i=0;i<n;i++)//将三角形数值存入一个二维数组
{
cout<<"第"<<i+1<<"行:";
for(j=0;j<=i;j++)
cin>>a[i][j];
}
cout<<"输入三角形为:\n";
for(i=0;i<n;i++)//显示输入的三角形数值
{
for(j=0;j<=i;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
cout<<"最佳路径为:\n";
for(i=0;i<n;i++)//要从三角形的顶至底的路径经过的数字和最大,则每行都取最大值
{
max=a[i][0];//以下求每行的最大值
for(j=1;j<=i;j++)
if(max<a[i][j])
max=a[i][j];
cout<<max<<" ";
sum+=max;//求最大值的和
}
cout<<"\n最长路径为:"<<sum<<endl;
}

❾ 三角形的编程代码

你是想打印一个三角形吗?
你只要使用循环就是了

❿ 三角形编程

#include <iostream>
#define MAXN 100
using namespace std;
int n,k;
int tri[MAXN][MAXN];
int main()
{
int i,j;
cin>>n>>k;
for (j=0;j<n;j++)
for (i=0;i<n-j;i++)
{
tri[i][j]=k;
k++;
if (k==10) k=1;
}
for (i=0;i<n;i++)
{
for (j=0;j<n-i;j++) cout<<tri[i][j];
cout<<endl;
}
return 0;
}

热点内容
c语言设计时钟 发布:2024-12-26 14:15:54 浏览:170
java派生 发布:2024-12-26 14:11:11 浏览:464
python核心技术 发布:2024-12-26 13:54:06 浏览:202
安卓智能显示如何设置 发布:2024-12-26 13:54:01 浏览:78
知道服务器ip和密码怎么办 发布:2024-12-26 13:51:00 浏览:111
联想小新pro14怎么查配置 发布:2024-12-26 13:48:39 浏览:439
智能标注脚本 发布:2024-12-26 13:48:03 浏览:802
王者安卓和苹果国服哪个强 发布:2024-12-26 13:42:09 浏览:113
面向对象的存储 发布:2024-12-26 13:30:06 浏览:198
tc按键脚本 发布:2024-12-26 13:25:03 浏览:684