當前位置:首頁 » 編程軟體 » 三角形編程

三角形編程

發布時間: 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;
}

熱點內容
N號房用戶試圖花錢刪除訪問記錄 發布:2024-12-26 02:06:51 瀏覽:231
現在電腦主機都什麼配置 發布:2024-12-26 02:05:12 瀏覽:786
sinsftp 發布:2024-12-26 01:44:34 瀏覽:397
安卓手機好多隱藏軟體怎麼清除 發布:2024-12-26 01:39:27 瀏覽:766
linux資料庫登陸 發布:2024-12-26 01:38:54 瀏覽:22
sql被注入 發布:2024-12-26 01:18:05 瀏覽:560
數據的常見存儲模式有 發布:2024-12-26 01:14:27 瀏覽:872
快手怎麼上傳整首歌曲 發布:2024-12-26 01:06:14 瀏覽:763
添加索引的sql語句 發布:2024-12-26 01:06:13 瀏覽:868
在哪裡查看電信寬頻賬號和密碼 發布:2024-12-26 01:05:36 瀏覽:120