小编Eli*_*zer的帖子

拆分整数并找到最大的和C++

我正在开始自己学习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)

c++

6
推荐指数
1
解决办法
230
查看次数

一个结构中多点的算子

我有一个结构存储两个应该可以互换的点.

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)

c++ algorithm struct operator-keyword

3
推荐指数
1
解决办法
67
查看次数

跨多个着色器的 OpenGL 统一

我在 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)

c++ opengl glew

2
推荐指数
1
解决办法
2559
查看次数

标签 统计

c++ ×3

algorithm ×1

glew ×1

opengl ×1

operator-keyword ×1

struct ×1