小编Dri*_*ise的帖子

行,列,深度值的多维数组索引?

我有一些值是多维数组的偏移量,看起来像这样:

static const int TILE_SIZE = 32;
int Offset2D = (y * TILE_SIZE) + (x * TILE_SIZE);
int Offset3D = (y * TILE_SIZE) + (x * TILE_SIZE) + (z * TILE_SIZE);
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是将偏移量转换为x,y,z对,如下所示:

void ConvertBack(int offset,int size,int& x,int& y,int& z)
{
    //What's wrong with this code ?
    x = offset / size;
    y = offset % size;
    z = ??; //How to get Z?
}
Run Code Online (Sandbox Code Playgroud)

要么

//Get back offsets from any dimension ?

void ConvertBackComplex(unsigned int offset,int size,int* vector,int len)
{ …
Run Code Online (Sandbox Code Playgroud)

c math

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

到达字符串中的特定单词

嗨,我有一个像这样的字符串:

字1 - 选项 - 单词2 - 标签 - WORD3 - 标签 - word4 - 标签 - 的word5 - 标签 - word6

我需要从字符串中提取第三个单词.我想到了逐字逐句阅读并在阅读第二个标签后获得了这个词.但我想它效率低下.你能告诉我一个更具体的方法吗?

c++ string

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

C++ - 排序算法没有看到我的重载"<"运算符用于用户定义的类型.

好吧,我有一个用户定义的类型命名fraction,它代表普通分数与分子和分母.这是代码:

class Fraction
{
private:
  int numerator;
  int denominator;

public:
  Fraction(int numer,int denom)
    :numerator(numer),denominator(denom){}

  int get_denom(){return denominator;}
  int get_numer(){return numerator;}
};
Run Code Online (Sandbox Code Playgroud)

如您所见,它在头文件中完全实现.

所以我想要做的就是使用排序算法对分数进行排序.这是重载"<"运算符的代码(注意:它与Fraction类放在同一个文件中,但在类之外):

bool operator<(Fraction& first,Fraction& second)
{
  if(first.get_denom() == second.get_denom())
  {
    return first.get_numer()<second.get_numer()?true:false;
  }
  int first_num=first.get_denom();
  int second_num=second.get_denom();
  int lcm=(first_num*second_num)/gcd(first_num,second_num);
  int first_new_numerator=(lcm/first_num)*first.get_numer();
  int second_new_numerator=(lcm/second_num)*second.get_numer();

  return first_new_numerator<second_new_numerator?true:false;
}
Run Code Online (Sandbox Code Playgroud)

它的作用是检查分母是否相等,如果它们是测试分子的值.如果它们不相等,则使用最小公倍数和gcd来均衡它们.

当我想在main(编译时错误)中使用排序算法时,真正的问题就开始了.这是主要的代码:

Fraction parse_fraction(string& input)
{

  stringstream fraction_string(input);
  int numer;
  fraction_string>>numer;
  char seperator;
  fraction_string>>seperator;
  int denom;
  fraction_string>>denom;

  return Fraction(numer,denom);
}


int main()
{
  vector<Fraction> fractions;
  string input;
  while(cin>>input)
  {
    if(input=="|") …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm codeblocks

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

xamarin C#:“资源”不包含“Id”的定义

我最近开始使用 Xamarin 使用 C# 构建 Android 应用程序。我遇到的一个问题让我很难取得任何进展: 错误 CS0117

我有两个相同的项目,问题只出现在其中一个中。它最初发生在两者中,但重建几次修复了第一个。第二个似乎更持久。我真的需要找到解决这个问题的方法,因为引用是非常基本的和需要的。更不用说,它发生在每个新项目中。这是我的代码: NoteMath

using System;
using Android.App;
using Android.Content;
using Android.Widget;
using Android.OS;

namespace NoteMath_v1._0._1
{
    [Activity(Label = "noteMath", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            Window.RequestFeature(Android.Views.WindowFeatures.NoTitle);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            EditText etInput = FindViewById<EditText>(Resource.Id.etInput);
            TextView tvConsole = FindViewById<TextView>(Resource.Id.tvConsole);
            etInput.KeyPress += (object sender, EditText.KeyEventArgs e) =>
            {
                e.Handled = false;
                if (e.Event.Action == Android.Views.KeyEventActions.Down …
Run Code Online (Sandbox Code Playgroud)

c# android xamarin.android xamarin

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

在阈值之后擦除总和

我想执行列求和,一旦达到某个阈值,我想删除到目前为止的总和值,不允许它为接下来的3个步骤添加任何新值,但我不知道如何做到这一点.有人能帮我吗.这是我到目前为止所拥有的.

for (i = 0; i < col; i++){
    sumC = 0;
    for (j = 0; j < row; j++)
    {
        sumC += matrix[j][i];

        if(sumC>1.5){
          sumC=0;     
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

c

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

有没有办法检查 .exe(或进程)是否在远程计算机上运行?

我编写了一个部署在多台机器上的程序。我想要一种监视它们是否正在运行的方法。假设这是不可能的,有没有办法让我的程序向我的电脑发送一条消息Hey I'm running!或其他内容?任何想法都可以提供帮助。

c++ windows

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

在元组列表中查找索引

我有一个元组列表seg = [(874, 893), (964, 985), (1012, 1031)]和一个索引.我想检查索引是否在这些元组的范围内,例如,876while 870不是.

我这样做的代码如下:

if [x for (x, y) in seg if x <= index <= y]:
   print ("index inside the segment")
Run Code Online (Sandbox Code Playgroud)

但是,如果索引位于列表seg的第一个第二个段中,我也想返回.

例如,对于index = 876返回1index = 1015返回3.

我怎么能这样做?

python indexing tuples

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

使用指向2D阵列的一维指针数组?

所以我正在开发一个Tic-Tac-Toe游戏,对于我的输入函数,我得到的是移动播放器作为一个整数存储在一个二维数组中,输入是通过引用指向位置的一维指针获得的在2D数组中.

但是我的问题是,当我似乎通过使用指针将多维数组的平方值设置为某个东西时,没有任何反应.

这是输入功能:

void Game::input(Board b){
int *spots[9]; // Possible spots for the input
bool validInput = false;
spots[0] = &b.board[2][0];
spots[1] = &b.board[2][1];
spots[2] = &b.board[2][2];
spots[3] = &b.board[1][0];
spots[4] = &b.board[1][1];
spots[5] = &b.board[1][2];
spots[6] = &b.board[0][0];
spots[7] = &b.board[0][1];
spots[8] = &b.board[0][2];
redo:
    cout << ">> " << endl;
    int input; // Input
    cin >> input; // Get the input
    validInput = cin;
    if(!validInput){
        cout << "Numbers only please!" << endl;
        cin.clear();
        while(cin.get() != '\n');
        goto redo; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays pointers

0
推荐指数
1
解决办法
264
查看次数

只有最后一行文件写入输出文件

我正在尝试将变量的输出重定向并写入文件,但只有输出的最后一行显示在我正在写入的文件中.但是当我对变量进行打印时,我会得到所有我期望的行.

rds = boto3.client('rds')
rds_instances = rds.describe_db_instances()['DBInstances']
for databases in rds_instances:
    arns = ("{0}".format(databases['DBInstanceArn']))
#    print (arns)
f = open('/tmp/arns', 'a')
f.write(arns)
f.close()
Run Code Online (Sandbox Code Playgroud)

我打印的示例输出我得到多个rds arn:

arn:aws:rds:us-east-1:222222222222:db:databasename01

arn:aws:rds:us-east-1:222222222222:db:databasename02

arn:aws:rds:us-east-1:222222222222:db:databasename03
Run Code Online (Sandbox Code Playgroud)

但是,当我检查文件时,我写的只有:

arn:aws:rds:us-east-1:222222222222:db:databasename03
Run Code Online (Sandbox Code Playgroud)

python python-3.x

0
推荐指数
1
解决办法
71
查看次数

如何从bash脚本中捕获终端输出并将其显示在我的Qt UI中?

我编写了一个简单的GUI,引导用户完成签出/签入过程,然后在用户单击GUI按钮时运行bash脚本.

我想在GUI中创建一个字段并显示脚本的输出.现在我正在使用system()(stdio)来运行脚本,但是将脚本的输出传递给我gui中的文本字段似乎很乱.

使用QProcess是一种更好的方法吗?如果是这样,我将如何开始?

另外,你会推荐什么Qt Widget /容器?

c++ bash user-interface qt qprocess

0
推荐指数
1
解决办法
282
查看次数