0 / 0 / 1
Регистрация: 20.03.2012
Сообщений: 14

Неправильно работает сортировка вставками

20.03.2012, 21:00. Показов 705. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как я понял не работает функция Sort.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
int main()
{
    FILE *fp=fopen("start.txt","r");
    int count=0,t;
    while (!feof(fp))
    {
        fscanf (fp,"%d ",&t);
        count++;
    }
    fclose(fp);
    int *counts=&count;
    float dkoll=pow(count/3.,0.5);
    int lk=count/3;
    float *res=&dkoll;
    int *start;
    start=(int *)malloc(count*sizeof(int));
    FILE *fl=fopen("start.txt","r");
    for (int i=0;i<count/3;i++)
    {
        for (int q=0;q<3;q++)
        {
        fscanf(fl,"%d ",&start[i*3+q]);
        printf ("%d ",start[i*3+q]);
    }
    }
    fclose(fl);
    printf("\n%d\n",(int)*res);
    CreatSortLents ("buf.txt",res,counts,start);
 
    getch();
    return 0;
}
    void CreatSortLents (char *fname,float  *res, int *counts, int *start)
{
    int *sort=(int *)malloc(((int)*res *3)*sizeof(int));
    int j;
    FILE *fp=fopen(fname,"w");
    for (int y=0;y<(int)*res;y++)
    {
    for (int i=y;i<*counts/3;i+=(int)*res)
    {
        for (j=0;j<3;j++)
        {
            sort[i*3+j]=start[i*3+j];
            fprintf(fp,"%d ",sort[i*3+j]);
        }
    }
        Sort (sort,res);
        fprintf (fp,"\n");
    }
    fclose(fp);
}
 
 
void Sort (int *sort,float *res)
{
 
    int tmp[3],pos,b=0;
    for(int i=1;i<(int)*res;i++)
    {
        for(int l=0;l<3;l++)
        {
        tmp[l]=sort[i*3+l];
        }
        if(sort[i*3+b]==sort[(i-1)*3+b])
        {
            b++;
            i--;
        }
        else 
        {
        pos=i-1;
        while(pos>=0 && sort[pos*3+b]>tmp[b])
        {
            for (int l=0;l<3;l++)
            {
            sort[(pos+1)*3+l]=sort[pos*3+l];
            }
            pos=pos-1;
        }
        for (int l=0;l<3;l++)
        {
        sort[(pos+1)*3+l]=tmp[l];
        }
        b=0;
    }
    }
 
    for (int j=0;j<(int)*res;j++)
    {
        for (int q=0;q<3;q++)
        {
           printf ("%d ",sort[j*3+q]);
        }
        printf("\n");
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2012, 21:00
Ответы с готовыми решениями:

Сортировка вставками (не работает)
Программа генерирует массив в фаил и сортирует его методом вставок. Но сама сортировка не происходит #include &lt;stdio.h&gt; #include...

Сортировка работает неправильно
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; int main() { int iran; int...

Быстрая сортировка работает неправильно
Здравствуйте! Разбираюсь с быстрой сортировкой и что-то пошло не так. Компилятор ни на что не ругается, просто неправильно сортирует...

1
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
21.03.2012, 12:24
А я вот ничего не понял
Воспользуйтесь тегами,чтобы можно было прочитать.

Добавлено через 15 часов 3 минуты
А само задание как звучит?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2012, 12:24
Помогаю со студенческими работами здесь

Сортировка вставками
Мне нужно написать программу, в которой бы присутствовала сортировка вставками. Желательно в одномерном массиве. Помогите пожалуйста.

Сортировка вставками
Отсортировать элементы методом вставками, и найти максимальное. Например задается массив чисел и нужно найти максимальное (сортировка...

Сортировка вставками
Сортировка вставками массивов из 3-х элементов Не до конца сортирует int tmp,pos,b=0; for(int i=1;i&lt;(int)*res;i++) { ...

Си. Сортировка вставками
Отсортировать массив в порядке убывания методом вставок

Сортировка вставками
Сортировка вставками: пусть первые k элементов упорядочены по возростанию. Берется (k+1)-ый элемент и размещается среди первых k так,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru