将符号指定给二维数组中的数字 我正在研究C++中的一个程序,它应该在一个文件中读取,将文件的内容存储到一个2D数组中,给数组中的每个数字分配字符并存储在一个字符数组中,并打印这两个数组。然后,它应该遍历初始数组,确保每个数字与其相邻数字的值相差不超过1,通过将这些数字替换为其相邻数字的平均值来纠正这些错误,像以前一样将字符分配给此已纠正的数组,然后打印两个数组

将符号指定给二维数组中的数字 我正在研究C++中的一个程序,它应该在一个文件中读取,将文件的内容存储到一个2D数组中,给数组中的每个数字分配字符并存储在一个字符数组中,并打印这两个数组。然后,它应该遍历初始数组,确保每个数字与其相邻数字的值相差不超过1,通过将这些数字替换为其相邻数字的平均值来纠正这些错误,像以前一样将字符分配给此已纠正的数组,然后打印两个数组,c++,arrays,C++,Arrays,字符分配如下所示: 0=blank 1=. 2=, 3=_ 4=! 5=+ 6=* 7=# 8=$ 9=& 我已经编写了打开文件并加载数组的代码,但是我不知道从哪里开始。对我来说,执行赋值的一种明显的方法(虽然可能不是最好的方法)是使用for循环遍历数组,并使用一系列if语句检查每个索引处的数字值,并指定适当的符号。我相信有更好的方法来实现这一点 以下是我目前掌握的代码: #include <iostream> #include <fstream> using

字符分配如下所示:

0=blank
1=.
2=,
3=_
4=!
5=+
6=*
7=#
8=$
9=&
我已经编写了打开文件并加载数组的代码,但是我不知道从哪里开始。对我来说,执行赋值的一种明显的方法(虽然可能不是最好的方法)是使用for循环遍历数组,并使用一系列if语句检查每个索引处的数字值,并指定适当的符号。我相信有更好的方法来实现这一点

以下是我目前掌握的代码:

#include <iostream>
#include <fstream>
using namespace std;

int main() {
ifstream prog;
prog.open("../prog1.dat");

    //If file can't be opened, exit
    if (!prog) {
        cerr << "File could not be opened" << endl;
        exit(EXIT_FAILURE);
    }
    else {
        while (!prog.eof()) {
            int size = 100, i, j;
            prog >> size; 
            int **numArray = new int* [size];
                for(i = 0; i < size; i++) {
                    numArray[i] = new int[size];
                    for(j = 0; j < size; j++) {
                        prog >> numArray[i][j];
                    }
                    cout << endl;
                }

                for(i = 0; i < size; i++) {
                    for(j = 0; j < size; j++) {
                         cout <<numArray[i][j] << " ";
                    }
                        cout << endl;
                }
        prog.close(); 
        return 0; 
        }
    }   
}
#包括
#包括
使用名称空间std;
int main(){
ifstreamprog;
程序打开(“../prog1.dat”);
//如果无法打开文件,请退出
如果(!prog){
cerr大小;
整数**numArray=新整数*[大小];
对于(i=0;icout在这段代码中,您没有检查与邻居的差异。
此外,它们不需要2个嵌套的for循环,这是一个非常大的开销。您可以在第一个嵌套的for循环中打印numArray


根据你的说法,这是你的第一次编程作业,你已经在使用双指针和嵌套循环,以及你检查文件是否打开的方式。你确定这是你的第一次作业吗?

这里的所有内容都是我在教科书或不同的在线教程中读到的,或者是我从其他人那里得到的提示这是我的第一个程序。第一个编程任务我的意思是C++,我在java和Visual Basic中使用了两个类。嗯,作为第一个程序,你最好现在就发现它,而不是以后。是。验证输入。一旦了解动态分配如何工作,就知道如果在现代C++中适当地使用标准库,那么很少需要它。