【发布时间】:2018-03-27 13:37:08
【问题描述】:
我被困在从文本文件中读取二维数组中,但我无法做到。我有您在代码中看到的 tri[][] 数组数据。我需要从文本中读取它,而不是在程序中定义。然后我将这些数据插入到程序中。
代码:
// C++ program for Dynamic
// Programming implementation of
// Max sum problem in a triangle
#include<bits/stdc++.h>
using namespace std;
#define N 4
int sumRec[N];
bool checkPrimeNumber(int n)
{
//cout << n;
bool flag = true;
for(int a = 2; a <= n/2; ++a)
{
if(n%a == 0)
{
flag = false;
}
}
//if number is 1 return false. 1 is not prime
if(n == 1)
flag = false;
return flag;
}
int maxPathSum(int tri[][N], int row, int col, int sum)
{
bool isPrime = checkPrimeNumber(tri[row][col]);
if(isPrime == true){
//Do nothing..
}
else if(row + 1 >= N){
sum = sum + tri[row][col];
if(sumRec[col]<sum)
sumRec[col]= sum;
}
else{
sum = sum + tri[row][col];
maxPathSum(tri, row + 1, col, sum);
maxPathSum(tri, row + 1, col + 1, sum);
}
}
int main()
{
int maxSum = 0;
int tri[N][N] = { {1, 0, 0, 0},
{8, 4, 0, 0},
{2, 6, 9, 0},
{8, 5, 9, 3}};
maxPathSum(tri, 0, 0, 0);
for (int i=0; i < N ; i++)
{
if(sumRec[i] >= maxSum)
maxSum = sumRec[i];
}
cout << maxSum;
return 0;
}
【问题讨论】:
-
建议:展示你的作品。如果你有 5 天的研究并且失败的尝试包括最有希望的。避免在帖子中使用图片。除非问题是关于图像(错误位置的像素、错误颜色)或图像描述了难以用文本表示的内容(例如复杂的图表),否则请使用文本。 Use caution with
using namespace std;。不要包含来自bits的任何内容。它们是实现标头,不用于直接包含。 -
哇,搜索了 5 天。我搜索了“c++ 读取文件矩阵”并得到了一堆回复。搜索“c++ read file array 2d”可以得到很多回复。
标签: c++ arrays triangular