Рейтинг:
2
OriginalGriff
"не работает" - это один из самых бесполезных отчетов об ошибках, которые вы когда-либо получите, как вы обнаружите, когда наберетесь достаточно опыта, чтобы позволить пользователям приближаться к вашим приложениям.
Он ничего не говорит нам о том, что происходит, когда вы запускаете свое приложение, ничего о том, как вы заставили его сделать это, ничего о том, что вы пытались исправить. В результате мы понятия не имеем, что вы нашли, а что нет.
Так что все будет зависеть от вас.
Поставьте точку останова на первой строке в main
функция, и запустите свой код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что именно то, что вы ожидали, произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.
Извините, но мы не можем сделать это за вас-вам пора освоить новый (и очень, очень полезный) навык: отладку!
И это довольно простая проблема, которую отладчик немедленно раскроет. Подсказки: некоторые из ваших кодов избыточны, а некоторые используют неправильный индекс. Попробуйте, и посмотрите, сможете ли вы решить эту проблему!
Но сделайте себе одолжение и используйте "правильные" имена для ваших переменных. Наличие массива целых чисел, называемого string
он никому не говорит ничего полезного и на самом деле контрпродуктивен, поскольку подразумевает, что содержимое представляет собой строки - или массивы символов - а не целочисленные значения.
0x01AA
""не работает" - это один из самых бесполезных " ибо вопрос о сортировке algo, на мой взгляд, очень clear...it означает, что сортировка не сортируется в соответствии с ожидаемым результатом :-)
OriginalGriff
В этом случае он генерирует полный мусор - даже не плохо отсортированный, он перезаписывает большую часть записей! Это не то же самое, что "сортировка не сортируется в соответствии с ожидаемым результатом", и он должен знать, что " как " вы сообщаете о проблеме, по крайней мере, так же важно, как и код, который терпит неудачу! :смеяться:
0x01AA
Я только что пролетел над ним, мой плохой :(
N. B: Google translate, который я использую, чтобы проверить свой английский, предлагает мне: "я просто _blew_ it over...." :-)
OriginalGriff
Это не проблема! :смеяться:
Мы все это делаем...
0x01AA
Ага, вы также проверяете с помощью Google translate :-))))
OriginalGriff
О да!
К сожалению, у него нет настройки "идиот на английский", которая была бы удобна в QA... :смеяться:
0x01AA
Ты имеешь в виду меня?
OriginalGriff
Вряд ли!
Я имею в виду замечательных людей, которые предполагают, что я могу видеть их экран и знать интимные детали их домашней работы без необходимости говорить...: вздох:
Stefan_Lang
К сожалению, "идиот" - это местный сленг, который варьируется от класса к классу, а иногда даже внутри одного и того же класса. Было бы довольно трудно автоматически перевести все варианты...
Рейтинг:
1
Patrice T
Начните с удаления бесполезного кода:
void sort(int string[], int x) {
int i, j, memory;
for (i = 0; i< x; i++) {
for (j = i; j< x; j++) {
if (string[j] < string[i]) {
memory = string[j];
string[i] = string[j];
string[j] = memory;
if (string[j] < string[i]) {
memory = string[j];
string[i] = string[j];
string[j] = memory;
}
}
}
}
}
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков:
отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.
Отладчик-Википедия, свободная энциклопедия[
^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[
^]
Базовая отладка с помощью Visual Studio 2010-YouTube[
^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.