【问题标题】:How to a hash an array value in c++ [closed]如何在c ++中散列数组值[关闭]
【发布时间】:2022-01-09 05:04:25
【问题描述】:

我有一个 5x5 矩阵,我需要散列它的值。

所以我试图像这样散列第二行和第三列

void hashing(int matris[5][5]) {

int x = 0;
int y = 0;

cin >> x;
cin >> y;
for (int i = 0;  i < 5;  i++)
{
    for (int k = 0; k < 5; k++)
    {
        if ((i==x-1)|| (k==y-1))
        {
            matris[i][k] = "*";
            
        }
    }
}

}

这是代码,但我收到以下错误:

““const char*”类型的值不能分配给“int”类型的实体”

有人知道怎么做吗?

【问题讨论】:

  • 你希望用这个声明做什么:matris[i][k] = "*";?乘法运算??
  • "*" 是一个以空结尾的字符串(const char[2]),matris[i][k] 是一个 int&amp;。你希望通过这个任务做什么?
  • 你似乎需要一个字符串矩阵。或者您应该使用特殊的int 值来表示“打印星号”(可能是0-1)。
  • 还有一个关于你在做什么的说明:这不是计算机科学意义上的散列
  • 不是模糊的图像,而是将您的输入和所需的输出作为文本包含在一个代码块中,以便保持格式。

标签: c++ hash


【解决方案1】:

当您声明int matrix[5][5] 时,您是在告诉您的程序您想将integers 存储在该矩阵中,基本上是数字。所以错误说你不能放入一个存储整数的矩阵,一个像"*"这样的字符,事实上你不能。

编辑:可能的解决方案是将矩阵从 int 更改为字符串(将整数解析为字符串),如 @Some Programmer Dude 建议的那样,但这取决于您的需要

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2012-07-20
    • 2018-12-28
    • 2011-08-15
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多