Форум программистов, компьютерный форум CyberForum.ru

не работает qsort - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите проблема указатели и windows x64. http://www.cyberforum.ru/cpp-beginners/thread516145.html
дебагер ошибок не пишет компилируется)...на другом компьютере .ехе запускается где ХРх86...у меня нет вот пишет такую ошибку ...не могу понять что это...запустил под админом...
C++ Работа с двумя списками Суть задания: Два списка А и Б. У одного 5 чисел, у другого пять чисел. У первого:1,2,3,4,5. У второго:3,4,5,6,7. Нужно их вывести на экран. Потом из первого списка удалить числа, которые есть и у второго. Затем добавить к первому списку те числа списка Б, которых нету у А...Я сделал два списка, некоторые функции. Вот мой код. Но я не понимаю как их сравнить и при сравнении удалить элемент... http://www.cyberforum.ru/cpp-beginners/thread516144.html
E2034 Cannot convert 'int *' to 'int' C++
Помогите разобраться,почему вылазит ошибка Unit1.cpp(34): E2034 Cannot convert 'int' to 'int *' Unit1.cpp(34): E2342 Type mismatch in parameter 'm' (wanted 'int *', got 'int') С++ начал недавно изучать...поэтому часто возникают не понятные мне ошибки,а почему не понимаю) #pragma hdrstop
Передача параметров функции по значению, ссылке и указателю C++
Вычислить F=f(a)-5f^3(sin(b/2))+1/f(1+c^4), де f(x)=3x^2-2x^2+7, при a=5.08, b=-0.65, c=3.87 Добавлено через 45 минут #include "stdafx.h" #include "iostream" double f (doble x) {double p; p=3*pav(x,3)-2*pav(x,2)-7; return p;}
C++ разложить натуральное число на сумму 9ти квадратов http://www.cyberforum.ru/cpp-beginners/thread516130.html
Доброго времени суток. Решая олимпиадную задачу (о чем она можно догадаться в заголовке топика) у меня всплыла проблема с разложением чисел от 2 до 8ми включительно и числа 10. Остальные числа раскладываются корректно. Помогите решить проблему вот код: #include <iostream> using namespace std; int main() { int n; int a=0,b,c,d,e,f,g,h,i;
C++ Вывести график функции, значения аргумента Х, значения функции Y в виде таблицы, max и min функции Вывести график функции, значения аргумента Х, значения функции Y в виде таблицы, max и min функции: y= 10/(1+x*x) диапазон изменения аргумента, количество точек графика 30. подробнее

Показать сообщение отдельно
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
11.03.2012, 18:01  [ТС]     не работает qsort
сделал наконецто своим методом кому надо возьмите
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#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];
            //p1[i]=new MARSH;
           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;
 
 for(int i = 0; i < 5 - 1; ++i) 
    {            
        for(int j = 0; j < 5 - 1; ++j) 
        {     
            if (p1[j+1]->dlina>p1[j]->dlina)
            {
           MARSH *p2;
             p2=p1[j+1];
            p1[j+1]=p1[j];
            p1[j]=p2;
            }
        }
    }
 
//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");
 
}
 
Текущее время: 11:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru