![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
qw1mb0 |
|
||||||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Вообщем есть такая программа, спасибо форумчанам которые помогли ее осилить:
Но есть непонятки с сотировкой методом вставок:
Выдает ошибки компиляции в строках:
error: incompatible types when assigning to type 'char[10]' from type 'char *' Понимаю что проблема из-за объявления в структуре ссылочного массива char name[10]. Но если заменяю ее на char *name. Происходит аварийное завершение работы в цикле чтения из файла входных данных. Посоветуйте пожалуйста, куда копать |
||||||
|
|||||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
qw1mb0, в Си, который ты используешь, в отличие от Си++ нет строк как таковых. Есть только указатель на char, который указывает на первый символ строки. Концом же строки является байт, в котором записан 0.
для того, чтобы сравнивать или копировать такие "строки" существуют специальные функции - strcmp и strcpy соответственно. Таким образом, для копировния "строки" filel_list[y].name в "строку" filel_list[y+1].name нужно
а ещё лучше (хотя бы для начала) пользоваться не Си, а Си++, т.е. "настоящими" строками -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Нужно именно Си. Без Си ++
Добавлено через 6 минут и 4 секунды Подправил. при входных данных: Filename exe 12.12.12 32 1282 82.32 filename exe 12.13.14 23 12452 21.12 lab4 exe 12.43.12 42 12423 12.43 lab3 dir 12.24.21 12 1252 12.65 lab1 exe 12.24.12 12 1242 12.35 Выводом является: Filename filename lab4 lab4 lab4 lab4 В коде заменил Две строки которые я выделля в 1 посте, к такому виду как вы предлагаете. strcpy |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
qw1mb0, почитай это.
И имей в виду, что функция main должна возвращать int. В противном случае, твоя программа не соберется современным компилятором. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
и чо ? честно признаюсь - нет желания разбираться в программе. Скажешь что не так... где ошибка - вил си, а так... Это сообщение отредактировал(а) borisbn - 14.2.2012, 22:09 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Тут что-нибудь одно:
Почему? Потому что RTFM))) А это вообще комлится ли? Последняя } закрывает main()... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
qw1mb0 |
|
||||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Забыл убрать скобочку из вывода всех элементов ![]()
|
||||
|
|||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Тогда какой же это Си? ![]() Добавлено через 2 минуты и 12 секунд
Ха. Почему так странно?
Добавлено через 4 минуты и 25 секунд Наверное, всё же нужно менять всё содержимое структуры, а не только name ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
qw1mb0 |
|
|||
Непутевый студент ![]() Профиль Группа: Участник Сообщений: 79 Регистрация: 24.4.2010 Где: Севастополь Репутация: нет Всего: нет |
Тоже думал об этом, дошел до:
Вывод тот же Это сообщение отредактировал(а) qw1mb0 - 15.2.2012, 00:23 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну так содержимое filel_list[y+1] пропадает и целиком заменяется содержимым filel_list[y]... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |