![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
KerK |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вектор А=(А1,А2,…,Аn) считается лексикографически большим вектора В=(В1,В2,…,Вn), если существует k>=0 такое что Аi=Вi(i<=k),Ak+1>Bk+1. Составить программу лексикографической сортировки числовых векторов. При составлении программы сортировки использовать минимальную необходимую память и эффективные структуры данных.
Давал пост в разделе задачи Лексикографическая сортировка числовых векторов., мне помогли с заданием но реализация была на паскале... вот попробовал перевести в сишку... возникли вопросы.... в сишке ни разу не пробовал процедуры... правильно ли я написал? и нет под рукой книги или хелпа, хотелось бы узнать что дает в паскале команда inc, и как она должна выглядеть в С. Потом не совсем понял какая структура должна быть у программы на С. НАпример на паскале ... ... procedure main(); end; Begin End. а как на си? И посмотрите пожалуйста мой код.... где какие ошибки? и как продолжить главный модуль программы?
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Я тут еще подправил.... помоему незачем писать лишний код... А по-моему, ты ошибаешься.. Это совершенно не эквивалентные коды...int LexSmaller(int x, int y) Что произойдет, если vv[x][0] = vv[y][0]? Безо всяких сомнений функция вернет тебе 0, т.к. else относится только к результату сравнения if (vv[x][i]<vv[y][i])... Элементы равны, следовательно условие НЕ выполнилось, возвращен 0... Всё. Результат неверный... До второй итерации дело вообще не дойдет, хотя по идее если vv[x][0] = vv[y][0], но vv[x][1] < vv[y][1] функция должна вернуть 1... Тебе, кстати, компилятор должен давать Warning... Ты почему его игнорируешь? |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 13:31 |