C++ 2D x 2D当用户设置行和列时,随机

C++ 2D x 2D当用户设置行和列时,随机,c++,matrix,multidimensional-array,random,C++,Matrix,Multidimensional Array,Random,我的任务是编写一个程序,将两个矩阵相乘。程序应该从用户检索他有多少行和多少列的信息 第一个矩阵和第二个矩阵的多少(我们将乘以)。然后输入第一个和第二个矩阵的数字范围。表格中填写了给定范围内的随机数。然后我们做乘法运算 矩阵。我们用随机数填充矩阵并显示结果矩阵。所以我做了,但答案是不对的。有人能帮我解决这个问题吗?非常感谢 #include <iostream> #include <cstdlib> #include <time.h> using namesp

我的任务是编写一个程序,将两个矩阵相乘。程序应该从用户检索他有多少行和多少列的信息 第一个矩阵和第二个矩阵的多少(我们将乘以)。然后输入第一个和第二个矩阵的数字范围。表格中填写了给定范围内的随机数。然后我们做乘法运算 矩阵。我们用随机数填充矩阵并显示结果矩阵。所以我做了,但答案是不对的。有人能帮我解决这个问题吗?非常感谢

#include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;
int main()
{
  srand(time(NULL));
  cout << "Provide first matrix dimensions (rows, cols):\n";
  int TWier1, TKol1, za;
  cin >> TWier1 >> TKol1;
  int taba[TWier1][TKol1];
  cout << "Provide matrix max value:\n";
  cin >> za;
  for(int i=0;i<TWier1;i++)
  {
    for(int j=0;j<TKol1;j++)
    {
      taba[i][j] = rand() % za;
    }
  }
  for(int i=0;i<TWier1;i++)
  {
    for(int j=0;j<TKol1;j++)
    {
      cout << taba[i][j] << " ";
    }
    cout << "\n";
  }
  cout << "Provide second matrix dimensions (rows, cols):\n";
  int TWier2, TKol2;
  cin >> TWier2 >> TKol2;
  int tabb[TWier2][TKol2];
  for(int i=0;i<TWier2;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      taba[i][j] = rand() % za;
    }
  }
  for(int i=0;i<TWier2;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      cout << tabb[i][j] << " ";
    }
    cout << "\n";
  }
  int tabc[TWier1][TKol2];
  for(int i=0;i<TWier1;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      tabc[i][j]=0;
    }
  }
  for(int i=0;i<TWier1;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      for(int k=0;k<TWier1;k++)
      {
        tabc[i][j] += taba[k][j]*tabb[i][k];
      }
    }
  }
  for(int i=0;i<TWier1;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      cout << tabc[i][j] << " ";
    }
    cout << "\n";
  }
  system("pause");
  return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
srand(时间(空));
cout>TWier1>>TKol1;
int taba[TWier1][TKol1];
cout>za;

对于(int i=0;i您在第二次矩阵初始化中有一个输入错误:

  int TWier2, TKol2;
  std::cin >> TWier2 >> TKol2;
  int tabb[TWier2][TKol2];
  for(int i=0;i<TWier2;i++)
  {
    for(int j=0;j<TKol2;j++)
    {
      taba[i][j] = rand() % za;  <--- here should be tabb instead of taba
    }
  }
int-TWier2,TKol2;
标准:cin>>TWier2>>TKol2;
int tabb[TWier2][TKol2];

对于(int i=0;i什么让你认为“答案不对”?
int tabb[TWier2][TKol2];
将所有内容翻译成英语将使代码更加自我解释,从而帮助您。请在问题中包含输入、输出和预期输出。欢迎使用堆栈溢出!请将您的代码简化为您问题的一部分。您当前的代码包含了许多与您的问题无关的内容-一个最小的示例通常看起来类似于一个好的单元测试:只执行一个任务,输入值指定用于再现性。那么,非常感谢mate;-)