Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 50
1

Сортировка - исправить ошибки в коде

14.04.2015, 20:52. Показов 1334. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста,где ошибка?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for (i = 0; i<k; i++)
            for (j = 0; j<k - 1; j++){
                fread(&car1, sizeof(car), 1, f);
                fread(&car2, sizeof(car), 1, f);
                if (strcmp(car1.marka, car2.marka)>0)
                {
                    fseek(f, 1, -2);
                    fwrite(&car2, sizeof(car), 1, f);
                    fwrite(&car1, sizeof(car), 1, f);
                }
                fseek(f, 1, -1);
            }
            printf("Sortirovka proshla uspeshno. \n");
            vivod();
            fclose(f);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2015, 20:52
Ответы с готовыми решениями:

Merge sort (Сортировка слиянием) - исправить ошибки в коде
Privet dami i gospoda. Ne poluchaetsa realisovat' Merge sort. Proga kompiliruetsa no sorting ne...

Ошибки при компиляции - исправить ошибки в коде
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include &lt;conio.h&gt;...

Исправить ошибки в коде
Помогите, пожалуйста, исправить ошибки в этом коде. Заранее спасибо.

Исправить ошибки в коде
...

7
Заблокирован
14.04.2015, 20:58 2
думаю нужно fseek(f, 1, -2*sizeof(car)); а второй fseek(f, 0, 0);

C
1
2
for (i = k-1; i>0; i--)
            for (j = 0; j<i; i++)
0
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 50
14.04.2015, 21:21  [ТС] 3
Не работает Можно целый код,может я что-то не так понял?

Может,если у вас есть время, сможете написать код сортировки методом пузырьков для файла со структурой??
Пожалуйста
0
Заблокирован
14.04.2015, 21:30 4
как-то так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    for (i = k-1; i>0; i--)//если k т.е. количество записей определено правильно
    {
            for (j = 0; j<i; j++)
            {
                fread(&car1, sizeof(car), 1, f);
                fread(&car2, sizeof(car), 1, f);
                if (strcmp(car1.marka, car2.marka)>0)
                {
                    fseek(f, 1, -2*sizeof(car));
                    fwrite(&car2, sizeof(car), 1, f);
                    fwrite(&car1, sizeof(car), 1, f);
                }
            }
        fseek(f, 0, 0);
    }
0
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 50
14.04.2015, 21:35  [ТС] 5
MansMI,

Ошибка 1 error C4308: отрицательная целая константа преобразована в тип без знака
Предупреждение 2 warning C4307: *: переполнение целой константы
0
Заблокирован
14.04.2015, 21:42 6
мы ж вроде параметры попутали fseek(f,-2*sizeof(car), 1);
0
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 50
14.04.2015, 21:43  [ТС] 7
Цитата Сообщение от MansMI Посмотреть сообщение
мы ж вроде параметры попутали fseek(f,-2*sizeof(car), 1);
не изменилось ничего =(
0
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 50
14.04.2015, 23:24  [ТС] 8
ТЕМА НЕ ЗАКРЫТА, может кто-то может помочь?? Желательно методом пузырьков
0
14.04.2015, 23:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2015, 23:24
Помогаю со студенческими работами здесь

Исправить ошибки в коде
define B booboo define X 10 main(int) { int age; char name; ...

Исправить ошибки в коде
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;string.h&gt; int main() { struct uchenik {...

Исправить ошибки в коде
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main(){char ch; double d; system(&quot;chcp 1251...

Исправить ошибки в коде
В чем тут ошибка не пойму, все как по книге написал!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru