![]() |
|
Модераторы: bsa |
![]()
|
|
| ddj |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.2.2008 Репутация: нет Всего: 1 |
задание таково:
1. Считать файл 2. Создать двуxсторонний список,которого елементы : строки (%s)
3. В двусторонний список записать слова которые состоят только из чисел. ( 12, 23697, 4 ) 4. Cделать сортировку по вазрастанию этих чисел.Резултат в другом файле. ~~~~~ Мне совсем непалучилось сделать второй пункт..Но в моей программе много ошибок, так как я только начинающий,может моглибы мне помоч их исправить. Буду очень блогодарен. Вот мой код :
Присоединённый файл ( Кол-во скачиваний: 8 )
F1.txt 0,06 Kb--------------------
#iddj |
||||
|
|||||
| bronislav |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
Что-то не нашел даже намеков на реализацию списка.
Если не занешь, как его реализовать то можешь сделать примерно так:
И пишешь функции для работы со списком:
Ну и т.д. Пробуй. Что будет не понятно - помогу и подскажу. -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
||||
|
|||||
| ddj |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.2.2008 Репутация: нет Всего: 1 |
А сам мой код ? кто нибудь мог бы исправить ошибки ?
--------------------
#iddj |
|||
|
||||
| rrrFer |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
main.cpp:
файл globals.h
Это сообщение отредактировал(а) rrrFer - 11.5.2008, 15:36 |
||||
|
|||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
rrrFer, если ты не заметил, то
ddj нужна реализация списков на C а не на С++ (классов в C нет). ddj, А что там за ошибки? Если чесно я его практически не смотрел. -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
ddJ
гыгы ну убери строки public и private а еще слово class замени на struct граждане отжигаете ваще Это сообщение отредактировал(а) rrrFer - 11.5.2008, 19:05 |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: 2 Всего: 3 |
rrrFer, ну да а также cin -> scanf, cout -> printf
-------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| t_gran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 13.11.2007 Где: г.Усть-Илимск Репутация: нет Всего: 37 |
rrrFer, так взял бы и переделал.
Если для тебя это просто, это ещё не значит, что можно так высказываться. Добавлено через 3 минуты и 13 секунд По части кода: 1. Реализацию никогда не пихают в заголовочник. 2. Если пишешь на C++, то пиши до конца и не смешивай его с C. -------------------- Я знаю, что ничего не знаю© Сократ ![]() |
|||
|
||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
t_gran
к чему это? Это сообщение отредактировал(а) rrrFer - 12.5.2008, 13:20 |
|||
|
||||
| ddj |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.2.2008 Репутация: нет Всего: 1 |
rrrFer, огромное спасибо.. так как полностю на С будет выгледеть код ? потому-что на С++ мне ненадо,а на С надо.Спасибо за панимание
--------------------
#iddj |
|||
|
||||
| opjox |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
rrrFer, «гражданин, отжигаете ваще»
Говоря о переводе кода с С++ на С, вы упомянули только лишь о вершине айсберга, а вот о подводной части... ![]() В Си структуры не могут иметь конструкторы, деструкторы, функции-члены и другой доли возможностей ООП. Функции для работы со списком не будут иметь указатель this, который можно было опускать в коде, и потребуют явный указатель для работы со списком, который придется передавать как параметр функции. Помимо этого, в Си также нет ссылок. На что же это нам (точнее ddj’ю) принесет? Это принесет нужда в правке почти каждой строчки приведенного вами кода. Хорошо, что его немного. Какие жалобы? ddj, отформатируй свой код, в данном виде он плохо читаем. Т.е сделай из:
Примерно так:
В 45 строчке у тебя похоже опечатка, которая бросилась в глаза:
может так надо? :
|
||||||||
|
|||||||||
| rrrFer |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
ddj
я думаю что твой код труднее переделать, чем написать заново. кроме того я раз 10 прочитал твое сообщение, датированное 10.5.2008, 12:18 и не увидел там что надо именно на С а не на С++ все же мне кажется что несложно переписать мой вариант на С, неужели проблема вынести функции члены из структуры? ну да - еще указатель на список им передать, хотя можно вообще глобальным обьявить(я в курсе что это не хорошо алогоритм остается тем же. Кстати, почему такое ограничение(С а не С++)? |
|||
|
||||
| ddj |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.2.2008 Репутация: нет Всего: 1 |
rrrFer,
заголовок темы же : . [C]найти в файле числа и сделать сортировку [C] это и показывает что на С надо написать
праграма на учебку.. а там С а не С++ opjox,
rrrFer,
нум может быть, просто я начинающий в этом деле .. Хочу что бы ктонибудь помог мне --------------------
#iddj |
||||||||
|
|||||||||
| rrrFer |
|
||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.5.2008 Где: Красноярск Репутация: 0 Всего: 1 |
ddjнасчет ошибок:
забыл поставить ; после:
в первом цикле в main(){...} используешь необьявленную ранее переменную(a):
сразу после этого цикла написано:
убери фигурные скобочки - они не к чему и кроме того, в функцию fscanf(...); забыл передать имя файла первым параметром, т.е. надо так:
дальше у тебя много где стоят лишние фигурные скобки(или может я не в курсе и в С так обозначались комменты - как в паскале?) еще т.к. ты используешь один и тот же указатель на файл то неплохобы закрывать файл, перед тем, как очередной раз открыть. если бы мне дали подобный листинг, я бы никогда не догадался что же должна была делать программа, не думая о том как это должно работать, я подправил код(исправил синтаксические ошибки):
ну естественно несмотря на отсутствие списка оно не работает как надо непонятно что ты уже тут пытаешься достичь: fscanf(fp,"%s",&st); особенно если заметить что это идет после цикла, на выходе из которого feof(fp), то есть в st считается NULL. И еще по крайней мере надо было написать fscanf(fp,"%s",st); тоесть & не нужен. Это сообщение отредактировал(а) rrrFer - 12.5.2008, 19:59 |
||||||||||
|
|||||||||||
| ddj |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 26.2.2008 Репутация: нет Всего: 1 |
только жалко программа моя эта непаботает :/
--------------------
#iddj |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |