Я новичок ie. На самом деле не понимаю, почему это в порядке убывания, а не в порядке возрастания, поскольку я проверяю каждый элемент массива со всеми другими элементами, и если первый больше, он становится последним и т. Д., Поэтому элемент должен go медленно направо в порядке, но происходит наоборот.
#include <stdio.h>
void main(void){
unsigned int array[7] = {3,1,6,9,0,44,4};
for (unsigned int i=0; i<=6; ++i){
for (unsigned int j=0; j<=6; ++j){
if (array[i] > array[j]){
int hold = array[j];
array[j] = array[i];
array[i] = hold;
}
}
}
for (unsigned int i=0; i<=6; ++i){
printf("%4d", array[i]);
}
}
Вывод:
44 9 6 4 3 1
Я знаю, что замена ">" на "<" у меня есть в порядке возрастания, но я не понимаю, почему. </p>
Редактировать: следуя полученным ответам, если я заменяю (во внутреннем l oop), что 0 на «i + 1», это работает. Я постараюсь лучше понять, почему.