gpt4 book ai didi

c++ - 如何循环矩阵让对角线上的数字具有高优先级?

转载 作者:太空狗 更新时间:2023-10-29 20:12:38 25 4
gpt4 key购买 nike

我正在做一个项目,需要在二维数组(矩阵)中找到某个数字。矩阵顺序的访问顺序是这样的(4*4 矩阵)。现在我站在0位置,等价地,我想先访问对角线上的矩阵元素。

0  2  7  14
3 1 5 12
8 6 4 10
15 13 11 9

此外,如何在不使用 goto 语句的情况下在 C++ 中打破两个嵌套循环。

最佳答案

下面的代码会遍历一个任意大小的方阵,优先在对角线上

#define SIZE 4

static int test[SIZE][SIZE] =
{
{ 0, 2, 7, 14 },
{ 3, 1, 5, 12 },
{ 8, 6, 4, 10 },
{ 15, 13, 11, 9 }
};

int main( void )
{
int diagonal, delta;

for ( diagonal = 0; diagonal < SIZE; diagonal++ )
{
cout << test[diagonal][diagonal] << endl;

for ( delta = 1; delta <= diagonal; delta++ )
{
cout << test[diagonal-delta][diagonal] << endl;
cout << test[diagonal][diagonal-delta] << endl;
}
}
}

这是一种不用 goto 跳出嵌套循环的方法

done = false;
for ( i = 0; i < 10; i++ )
{
for ( j = 0; j < 10; j++ )
{
if ( some_condition_is_met )
{
done = true;
break;
}
}
if ( done )
break;
}

关于c++ - 如何循环矩阵让对角线上的数字具有高优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26418932/

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