矩阵减法程序c++

Matrix subtraction program c++

本文关键字:程序 c++      更新时间:2023-10-16

我对编程很陌生,我有一个项目,需要从一个单独的数据文件中提取两个6乘2的矩阵,其中包含1950年至2000年每十年黑人和白人男性/女性的预期寿命,然后减去这些矩阵,形成第三个6乘2的矩阵,该矩阵包含每十年同一种族的男性和女性的预期寿命之间的差异。我们没有在课堂上讨论多维数组,我对此有点困惑。我在说未声明的标识符时遇到了很多错误。我也知道必须有一种更好的方法从数据文件中获取数组,但我不确定如何获取。如果这是个愚蠢的问题,我很抱歉。

#include <iostream>
#include <fstream>
using namespace std;
void getMatrixFemaleW();
void getMatrixFemaleB();
void getMatrixMaleW();
void getMatrixMaleB();
void matrix_diff();
int main()
{
   float matrixFemale[6][2];
   getMatrixFemaleW;
   getMatrixFemaleB;
   float matrixMale [6][2];
   getMatrixMaleW;
   getMatrixMaleB;
   float matrixDifference[6][2];
   matrix_diff;
   for (int x=0; x<6; x++)
   {
      for (int y=0; y<2; y++)
      {
         cout << matrixFemale[x][y] << " ";
      }
      cout << endl;
   }
}
void getMatrixFemaleW()
{
   ifstream inputFile;
   inputFile.open("MatrixFemaleW.txt");
   int count = 0;
   while (count < 6 && inputFile >> matrixFemale[count][0])
      count++;
}
void getMatrixFemaleB()
{
   ifstream inputFile;
   inputFile.open("MatrixFemaleB.txt");
   int count = 0;
   while (count < 6 && inputFile >> matrixFemale[count][1])
      count++;
}
void getMatrixMaleW()
{
   ifstream inputFile;
   inputFile.open("MatrixMaleW.txt");
   int count = 0;
   while (count < 6 && inputFile >> matrixMale[count][0])
      count++;

void getMatrixMaleB()
{
   ifstream inputFile;
   inputFile.open("MatrixMaleB.txt");
   int count = 0;
   while (count < 6 && inputFile >> matrixMale[count][1])
      count++;
}
void matrix_diff()
{
   for (i=0; i<6; i++)
   {
      matrixDifference[i][0] = matrixFemale [i][0] - matrixMale[i][0];  
   }
   for (i=0 i<6; i++)
   {
      matrixDifference [i][1] = matrixFemale [i][1] - matrixMale [i][1];
   }
}

首先这些行应该是

getMatrixFemaleW();
getMatrixFemaleB();
getMatrixMaleW();
getMatrixMaleB();
matrix_diff();

因为它们是函数而不是变量,所以需要调用它们而不是对其进行删除如果你想从outher函数中获取一个变量,它应该是全局变量或一个表示的指针

float matrixFemale[6][2];
float matrixMale [6][2];
float matrixDifference[6][2];

使这些变量成为全局变量或指针