Arrays C数组的更新
关于这一问题— 出于某种原因,如果我不更新第二个数组中的元素,第一个数组中的元素就不会相应地更新Arrays C数组的更新,arrays,c,sorting,Arrays,C,Sorting,关于这一问题— 出于某种原因,如果我不更新第二个数组中的元素,第一个数组中的元素就不会相应地更新 int array[] = {1, 34, 3}; int newArrayWithSamePower[3] = {11, 34, 33}; // Sort initial array based on power array elements for (int i = 0; i <= 2; i++) { for (int j = i + 1; j <= 2; j++) {
int array[] = {1, 34, 3};
int newArrayWithSamePower[3] = {11, 34, 33};
// Sort initial array based on power array elements
for (int i = 0; i <= 2; i++) {
for (int j = i + 1; j <= 2; j++) {
if (newArrayWithSamePower[j] > newArrayWithSamePower[i]) {
int temp2 = newArrayWithSamePower[i];
newArrayWithSamePower[i] = newArrayWithSamePower[j];
newArrayWithSamePower[j] = temp2;
// Unsure why array indexes go haywire if you dont update power array
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
for (int i = 0; i <= tempIndex; i++) {
printf("%d\n", array[i]);
}
int数组[]={1,34,3};
int newarraywhithsamepower[3]={11,34,33};
//基于幂数组元素对初始数组进行排序
对于(int i=0;i
如果不在循环中交换newarraywhithsamepower
数组的元素,则在不同索引上使用If(newarraywhithsamepower[j]>newarraywhithsamepower[i])
条件将为true,因此数组
将以不同的方式进行交换。算法可以正常工作-它必须修改元素才能正常工作。如果要更新名为数组
的数组,为什么要在If
语句中检查powerArray
中的元素?使用tempIndex
看起来非常困难d、 …请对此表示适当的歉意,我对这个平台非常陌生@AnttiHaapalai,我正试图根据第二个数组中元素的大小,根据它们的索引@LazarĐ或đević@JeraldLim对数组进行排序,请回答这个问题,并在其中提供一个完整的独立示例。
if (newArrayWithSamePower[j] > newArrayWithSamePower[i]) {
int temp2 = newArrayWithSamePower[i];
newArrayWithSamePower[i] = newArrayWithSamePower[j];
newArrayWithSamePower[j] = temp2;