动态数组值已更改

时间:2013-03-02 10:34:17

标签: c++

我正在编写一个用于读取文本文件并放入数组的程序。首先,我将数据放入char数组,然后将char数组转换为int。在我的循环中,map [,]的值为true。但是当FOR结束所有map [,]时都会改为0。

#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

int main()
{
    char str[100];
    ifstream test;
    test.open("map.txt");
    int n,m,i=0;
    //
    while(test.getline(str, 100))
    {
        if(i==0)
            n = atoi(str);
        else if(i==1)
        {
            m = atoi(str);
            break;
        }
        i++;
    }
    int * map;
    map = new (nothrow) int [n,m];
    //
    i = 0;
    char * temp;
    temp = new (nothrow) char [m];
    int j = 0;
    while(test.getline(str, 100))
    {
        cout << str << endl;
        if(i<n)
        for(j = 0 ; j < m ; j++)
        {
            /******
            // #=1, space=0, P=2, .=3 \\
            ******/
            if(str[j] == ' ')
                map[i,j] = 1;
            else if(str[j] == '#')
                map[i,j] = 0;
            else if(str[i,j] == 'P')
                map[i,j] = 2;
            else if(str[i,j] == '.')
                map[i,j] = 3;
            cout << map[i,j];
        }
        cout<<endl;
        i++;
    }
    cout << "----------------------------------------------" << endl;
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            cout << map[i,j];
        }
        cout << endl;
    }
    test.close();
    int a;
    cin>>a;
    return 0;
}

0 个答案:

没有答案