c++ - 将三角形定义为具有坐标的数据类型。计算三角形的内容
问题描述
我是编程新手,但我正在努力变得更好,这就是我要解决的问题。
我需要用正方形 (0,1) x (0,1) 内的顶点定义数据类型三角形。编写一个计算其面积的函数。编写一个程序,生成 100x 三元组的 x、y 坐标对作为十进制数,并计算生成的三角形的平均面积。
听起来可能很难,但事实并非如此,我想我知道该怎么做,但我只是不知道如何写下来。我需要计算随机坐标的距离。然后将所有 100 个三角形的内容相加,除以 100。
我所拥有的是:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main ()
{
srand(time(NULL));
int x, y;
int sizeOfSquare=10;
int triangle(a,b,c); //sides of triangle
int arrX[3];
int arrY[3];
for(int i=0; i<3; i++)
{
x = rand()%sizeOfSquare+1;
y = rand()%sizeOfSquare+1;
arrX[i] = x-1;
arrY[i] = y-1;
//-1 to get a chance of zero
}
for (int i=0;i<3; i++) //this is just for me to see the coordinates
cout << "(" << arrX[i] << "," << arrY[i] << ")" << endl;
return 0;
}
它在数组中生成随机坐标对,但我不知道如何计算数组之间的距离并将其分配给triangle。
也许有更好的解决方案,如果我的代码不正确,请见谅。 感谢您的任何建议。
解决方案
我认为你在正确的轨道上,但在解决这个问题之前你需要更多的工具。
首先它谈到data type
:您需要一种存储有关每个三角形的信息的方法。有几种方法可以做到这一点,您需要了解struct
s.
这行代码没有达到您的预期:
int triangle(a,b,c); //sides of triangle
这是一个“函数声明”,不允许存储或定义“数据类型”。
用数组存储坐标是一个好主意(也许比你的水平要复杂一点,但我认为你会管理得很好)。您可能可以简化“+1”和“-1”来生成这些坐标。
其中的关键部分是创建正确的数据类型。您需要一种方法来存储每个三角形的数据。然后还必须存储每个三角形。你已经为一个三角形工作得很好,一旦你弄清楚如何存储每个三角形,找到几个会更容易。
一旦你有了这些三角形,找到每个三角形的区域会更容易。在这一点上,将它们存储在数组中并总结起来对您来说应该是显而易见的。
希望这对您有所帮助,不要担心正确的解决方案和更好的解决方案。让它首先工作,并确保你首先理解它!
推荐阅读
- java - Webapp 硬件桥接器
- module - 使用特定宏查找函数
- optimization - Solver 中的线性优化二元约束公式
- python - 无法在 Python 中加载 sklearn 模块
- android-external-storage - android 11 中的 scopedStorage 功能是否有临时修复?
- python - python web3 eth getBalance没有响应
- go - Gorm 使用 Scan() 左连接
- r - 将 corr.test 输出转换为 R 中的 data.frame
- css - 连接到可拖动 div 的 SVG 路径被扭曲
- mysql - 当 MySQL 使用 utf8mb4 字符集从派生表中选择某些内容时,为什么 MySQL 对每个字符使用 4 个字节?