Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739

не работает qsort

11.03.2012, 17:18. Показов 3995. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include  <math.h>
#include <iomanip>
#include <string.h>
using namespace std;
 
struct MARSH
{
    char nac_punkt[100];
    char konec_punkt[100];
    int   nomer;
    int   dlina;
}*p1[50];
int comp(const void* a, const void* b)
{
    const  MARSH* k = (const  MARSH*)a;
    const  MARSH* m = (const  MARSH*)b;
    int s = ((k ->dlina) - (m ->dlina));
       
    return s;
}
void  main(void)
{
    FILE *f1;
    setlocale(LC_ALL,"Russian");
    if((f1=fopen("2.dat", "rb+"))==NULL) {
        printf("Ошибка при открытии файла.\n");
        exit(1);
    }
 
 
    for(int i=0;i<5;i++)
    {
        MARSH *pmarh=new MARSH[i+1];
 
        if (pmarh != NULL) cout << "Память успешно выделена" << endl; 
        else cout << "Ошибка выделения памяти" << endl; 
        fread(&pmarh[i],sizeof(MARSH),1,f1);
        p1[i]=&pmarh[i];
        cout<<i+1<<"-aя запись"<<endl;
        cout<<"начальный пункт  "<<pmarh[i].nac_punkt<<endl;
        cout<<"название конечного пункта  "<<pmarh[i].konec_punkt<<endl;
        cout<<"длина  "<<pmarh[i].dlina<<endl;
        cout<<"номер   "<<pmarh[i].nomer<<endl;    
    }
    cout<<"Сортировка"<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    cout<<endl;
    qsort(p1, 5, sizeof(p1[0]), comp);
    for(int i=0;i<5;i++)
    {      
        cout<<i+1<<"-aя запись"<<endl;
        cout<<"начальный пункт  "<<p1[i]->nac_punkt<<endl;
        cout<<"название конечного пункта  "<<p1[i]->konec_punkt<<endl;
        cout<<"длина  "<<p1[i]->dlina<<endl;
        cout<<"номер   "<<p1[i]->nomer<<endl   
    }
    fclose(f1);
    system("PAUSE");
}
не работает qsort нужным образом тоесть не сортирует

Добавлено через 14 минут
посмотрите пожалуйста код почему qsort не хочет сортировать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2012, 17:18
Ответы с готовыми решениями:

не работает qsort
Возникла проблема: в MSVS 2010 данный код выполняется неправильно, массив не сортируется,этот же код, скомпилированный в gcc работает как...

Не работает функция qsort
Вот код #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;Windows.h&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace...

qsort объясните как работает
Объясните в подробностях как работает данная функция сортировки и как её использовать. К примеру если надо просортировать данный масив: ...

27
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
11.03.2012, 21:30  [ТС]
Студворк — интернет-сервис помощи студентам
я выделял pmarh как ее завершить
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
11.03.2012, 22:55
sergeu90, pmath = p1
Можно удалять хоть оттуда хоть оттуда
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
12.03.2012, 01:03  [ТС]
не могу удалить вне цикла пишит не известный индетефикатор
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 01:04
C++
1
2
3
4
for(int i=0;i<5;i++)
{
  delete p1[i];
}
0
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
12.03.2012, 01:26  [ТС]
вы освобождаете p1 а надо не то освобождать
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 01:27
sergeu90, я уже объяснял выше.
C++
1
2
3
int *n = new int(10);
int *m = n;
delete m;
Удалится n, т.к. m = n.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
12.03.2012, 01:48  [ТС]
все равно не могу присвоить в не цикла pmarh = p1; пишит не определенный pmarh
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
12.03.2012, 02:08
Вы это и так делаете внутри цикла.
C++
1
p1[i]=pmarh;
От вас только требуется удалить каждый элемент из p1, как я писал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2012, 02:08

qsort
Ребят,расскажи подробно и простенько про qsort;Видел тему,но ничего не понял.Я новичек еще можно сказать пока в С++. у меня просто...

qsort
читал, что с помощю QSORT можно упорядочить масив, но не пишет как. помогите!!

qsort
Вот код программы. Посмотрите вопрос в комментарии. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int main() ...

qsort
Вот код: #include &lt;cstdio&gt; #include &lt;algorithm&gt; int compare(const void *s1, const void *s2) { return strcmp((char *)s1, (char...

qsort C++
Помогите, плиз,разобраться с этой функцией, я прогу написала, но мало чего понимаю в ней, я написала в трех файлах, так и выкладываю. ...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru