gpt4 book ai didi

c - 移动数组的列

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:33 24 4
gpt4 key购买 nike

我希望将包含所有 one 的所有列都移到右侧,并将其他所有列移到最左侧。这是我想要实现的示例(左侧和右侧的结果:

注意。只有包含 ALL one 的列被移到右边。

12112111111211
12112111111211
11112112111211
11112111111211

结果:

22121111111111
22121111111111
12221111111111
12121111111111

到目前为止我的尝试:检查 = 1;

for (i = 1; i <= height; i++) {
for (j = 1; j <= column; j++) {
if (array[i][j] != '1'){
check = 0;
break;
}
}
}

if (check) {

for (j = 1; j < width; j++)
for (i = 1; i <= height; i++) {
if (array[i][j] == '.') {
array[i][j] = array[i][j+1];
array[i][j+1] = '1';
}
}

目前它只向左两列一次,我明白为什么,但我不确定如何克服这个问题

最佳答案

您只需要将不全为 1 的列放在首位即可。尝试以下操作:

int colIndex = 0;
for(int c = 0 ; c < numOfCols ; c++)
{
if(col c is not all 1)
{
swap column c with column colIndex;
colIndex++;
}
}

关于c - 移动数组的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25337947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com