小编Pet*_*111的帖子

通过二维数组迭代

我有一个"连接四板",我用二维数组模拟(数组[x] [y] x = x坐标,y = y坐标).我必须使用"System.out.println",所以我必须遍历行.

我需要一种方法迭代这种方式[0,0] [1,0] [2,0] [3,0] [0,1] [1,1] [2,1]等

如果我使用正常程序:

for (int i = 0; i<array.length; i++){
     for (int j = 0; j<array[i].length; j++){
        string += array[i][j];
     } System.out.println(string)

}
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为它以这种方式迭代[0,0] [0,1] [0,2] [0,3]等

正常的过程保持在x并增加y直到列的结尾,但我需要在y中说并递增x直到行的结尾.

java arrays multidimensional-array

9
推荐指数
4
解决办法
12万
查看次数

如何在C++中打开具有相对路径的文件?

我现在正在编写测试用例,并创建了一些我尝试阅读的测试文件.绝对路径是:

/home/user/code/Project/source/Project/components/Project/test/file.dat
Run Code Online (Sandbox Code Playgroud)

但是出于明显的原因,用绝对路径进行测试是不好的.所以我尝试将绝对路径转换为相对路径,我不知道为什么它不起作用.我用相对路径创建了一个文件

findme.dat
Run Code Online (Sandbox Code Playgroud)

我找到了它

/home/user/code/Project/build/source/Project/components/Project/test/findme.dat
Run Code Online (Sandbox Code Playgroud)

所以我创建了相对路径

/../../../../../../source/Project/components/Project/test/file.dat
Run Code Online (Sandbox Code Playgroud)

但该文件未打开且与is对象 无关std::ifstream is (path);,并且该is.is_open()函数返回fulse.

你能帮助我吗?

c++ relative-path absolute-path ifstream

6
推荐指数
1
解决办法
1万
查看次数

Tensorflow:张量的反向展平

操作系统:Kubuntu 14.04,Tensorflow 版本 = 0.12,Python 版本 = 2.7

我的最后一层后,我的神经网络的输出具有形状[batch, height, width, 2]这是[64, 32, 256, 2]在我的情况。

之后我用

output = tf.contrib.layers.flatten(input=output)
Run Code Online (Sandbox Code Playgroud)

产生具有形状的张量[64, 16384]

出于评估目的,我想在不同的函数中反转这种扁平化以[64, 32, 256, 2]恢复原始张量。

那怎么办呢?

python flatten tensorflow

5
推荐指数
1
解决办法
4437
查看次数

C++从char*到char的转换无效(char*=*string.begin())

我有以下代码:

std::string extract() {

    fstream openfile("/home/name/Documents/testfile");
    std::string teststring;
    long location = 4;
    long length = 2;
    teststring.resize(length);
    char* begin = *teststring.begin();
    openfile.seekp(location);
    openfile.read(begin, length);

    return teststring;
}
Run Code Online (Sandbox Code Playgroud)

此代码应返回文件中找到的字符串.例如,如果文件的内容是

StackOverflow
Run Code Online (Sandbox Code Playgroud)

这个方法应该返回

kO
Run Code Online (Sandbox Code Playgroud)

此代码由友好的StackOverflow用户提供给我.我的问题是,我得到一个编译错误,上面写着:"从char*到char的转换无效".问题是

char* begin = *teststring.begin();
Run Code Online (Sandbox Code Playgroud)

线.我怎样才能解决这个问题?

c++ char readfile

4
推荐指数
1
解决办法
475
查看次数

Java并行易失性i ++

我有一个全局变量

volatile i = 0;
Run Code Online (Sandbox Code Playgroud)

和两个线程.每个都做以下事情:

i++;
System.out.print(i);
Run Code Online (Sandbox Code Playgroud)

我收到以下组合.12,21和22.

我理解为什么我没有得到11(挥发性不允许缓存我),我也理解12和22.

我不明白的是如何获得21?

获得此组合的唯一可能方法是,稍后打印的线程必须是第一个i从0 递增到1然后缓存的线程i==1.然后另一个线程i从1 递增到2然后打印2.然后第一个线程打印缓存i==1.但我认为volatile不允许缓存.

编辑:运行代码10,000次后,我得到11次.添加volatilei根本不会改变可能的组合.

markspace是对的:volatile禁止缓存ii++不是原子的.这意味着i在递增期间仍然会在寄存器中"缓存".

r1 = i
//if i changes here r1 does not change
r1 = r1 + 1 
i = r1
Run Code Online (Sandbox Code Playgroud)

这就是11仍然可能的原因.引起21是因为PrintStreams不同步(参见Karol Dowbecki的回答)

java multithreading increment race-condition runnable

3
推荐指数
1
解决办法
100
查看次数

如果文件夹不存在则创建文件夹,如果存在则什么都不做

我想创建一个名为sessionname. 如果具有此名称的文件夹已经存在,那很好,我不想做任何事情。

现在我这样做:

finalpath = "/home/Documents"    
finalpath.append(path + "/" + sessionname);
    if (mkdir(finalpath.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1)
    {
        //INVALID PATH
        std::cout << "path is invalid, cannot create sessionnamefolder" << std::endl;
        throw std::exception();
    }
Run Code Online (Sandbox Code Playgroud)

此代码错误,如果文件夹/home/Documents/sessionname存在,因为无法创建文件夹。

如何检查是否mkdir因为字符串无效或字符串有效但文件夹已存在而失败?

c++ linux directory mkdir

1
推荐指数
1
解决办法
8511
查看次数

C++创建一个std :: vector <float> const&object

我有一个矢量::

static const std::vector<float> vector1
Run Code Online (Sandbox Code Playgroud)

和一个向量的引用:

std::vector<float> const& vector2
Run Code Online (Sandbox Code Playgroud)

我需要将这些矢量的值相互相乘,并将它们存储在一个新的矢量中.

例如:

result[0]=vector1[0]*vector2[0]
result[1]=vector1[1]*vector2[1]
Run Code Online (Sandbox Code Playgroud)

然后我需要将这个向量赋给一个只接受的方法:

std::vector<float> const& result
Run Code Online (Sandbox Code Playgroud)

我如何在C++中执行此操作?

c++ const vector

0
推荐指数
1
解决办法
495
查看次数