我正在开始自己学习C++,而且我对一项我正在努力完成的任务感到困惑.用户shoud键入自然数字,只要他想要,直到他输入0.之后,我的程序应找到最大的数字总和并打印出来.它还打印出一个数字,从中得出总和.这是我试图做的:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int input = 0;
int digit;
int sum = 0;
int largest = 0;
do
{
cout << "enter a natural number (0 if done): " << flush;
cin >> input;
while (input > 0)
{
digit = input % 10;
sum = sum + digit;
input = input / 10;
}
if (sum > largest)
largest = sum;
} while (input);
cout << "Max sum of digits was …Run Code Online (Sandbox Code Playgroud) 我有一个结构存储两个应该可以互换的点.
struct Edge
{
unsigned short firstIndex;
unsigned short secondIndex;
Edge(unsigned short firstIndex, unsigned short secondIndex) :
firstIndex(firstIndex), secondIndex(secondIndex) {}
};
Run Code Online (Sandbox Code Playgroud)
该operator==方法应该如下(为了让他们互换)
bool operator == (const Edge& e2) const
{
return
first == e2.first && second == e2.second ||
first == e2.second && second == e2.first;
}
Run Code Online (Sandbox Code Playgroud)
我期待创建一个operator<和operator>方法,以便在一个结构中使用结构std::map
我尝试了以下(使用乘法)但它不起作用,因为在许多情况下,不同的边返回相同的值
bool operator < (const Edge& e2) const
{
return first * second < e2.first * e2.second;
}
Run Code Online (Sandbox Code Playgroud)
我想使用的代码如下:
std::map<Edge, unsigned int> edgePoints;
Edge e1(0, …Run Code Online (Sandbox Code Playgroud) 我在 OpenGL 中创建了一个使用顶点着色器、几何着色器和片段着色器的应用程序。
我有一个统一变量,eyePositionWorld我想在几何着色器和片段着色器中使用它。
(我正在渲染顶点的位置与eyePositionWorld颜色相比)
顶点着色器
#version 430
in vec4 vertexPositionModel;
in vec3 vertexColor;
in vec3 vertexNormalModel;
in mat4 modelMatrix;
uniform mat4 viewMatrix;//World To View
uniform mat4 projectionMatrix;//View to Projection
struct fData
{
vec3 fragColor;
vec3 fragPositionWorld;
vec3 fragNormalWorld;
};
out fData geomData;
void main()
{
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vertexPositionModel;
geomData.fragColor = vertexColor;
geomData.fragPositionWorld = (modelMatrix * vertexPositionModel).xyz;
geomData.fragNormalWorld = (modelMatrix * vec4(vertexNormalModel, 0.0)).xyz;
}
Run Code Online (Sandbox Code Playgroud)
几何着色器
#version 430
layout(triangles_adjacency) in;
layout(triangle_strip, …Run Code Online (Sandbox Code Playgroud)