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

Пирамидальная соритровка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ std::regex и boost::regex http://www.cyberforum.ru/cpp-beginners/thread717074.html
Что-то я не пойму что реализация их различна ? #include <iostream> #include <string> //#include <regex> //using namespace std; #include <boost/regex.hpp> using namespace boost;
C++ Деревья (Определить общие источники двух статей, начиная с заданного года) Доброго времени суток форумчане! По САОДу дали задание, Имеются две статьи. Каждая из них включает список источников. В них в свою очередь могут быть ссылки на другие источники. Известен год опубликования каждой статьи. Определить общие источники двух статей, начиная с заданного года. Я вообще не могу сообразить, какое здесь применяется дерево и как его организовать. Я понимаю, что точно не... http://www.cyberforum.ru/cpp-beginners/thread717073.html
C++ где можно скачать с++
скажите где можно скачать Dev-C++ с библиотеками и что бы работал на русском
Функция грамматики (объяснить) C++
здравствуйте помогите разобрать функцию, char *Grammar={ "Z:E", "E:E+T", "E:E-T", "E:T", "T:T*F", "T:T/F",
C++ Вывести номера всех седловых точек матрицы http://www.cyberforum.ru/cpp-beginners/thread717047.html
написала код который должен считать 1) сумму элементов тех строк матрицы, в которых хотя бы один элемент отрицательный, 2) выводить номера всех седловых точек #include <iostream> #include <conio.h> #include <stdio.h> #include <math.h> #include <iomanip> using namespace std; int main() {
C++ Найти количество столбцов матрицы, содержащих хотя бы один нулевой элемент Помогите пожалуйста написать программу, буду признательна и благодарна. Дана целочисленная прямоугольная матрица. Определить: 1.) количество столбцов, содержащих хотя бы один нулевой элемент; 2.) номер строки, в которой находится самая длинная серия одинаковых элементов. подробнее

Показать сообщение отдельно
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
03.12.2012, 01:03  [ТС]     Пирамидальная соритровка
MaRKerNSK, чтото оно не сортирует))
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
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
 
struct INF
{
    int key;
    char info;
};
const int n = 10;
INF mas[n];
void heapsort (int);
void pushdown (int, int ) ;
void SWAP(int  ,int );
 
int main()
{
    srand(time(0));
    cout<<"MAS"<<endl<<endl;
    for(int i = 0;i < n;i++)
    {
        mas[i].key = rand()%20;
        cout<<mas[i].key<<" ";
    }
    cout<<endl<<endl;
    cout<<"Qsort";
     for(int i = 0;i < n;i++)
    {
        mas[i].key = rand()%20;
        cout<<mas[i].key<<" ";
    }
    heapsort(n);
    getch();
    return 0;
}
void heapsort (int n) 
{
    for (int i=1; i<=(n/2); i++)
       pushdown (i, n);
 
    for (int i = n; i > 1; i--) 
    {         
        swap (mas[1], mas[0]);
        pushdown (1, i-1);
    }
}
void pushdown (int first, int last) 
{
    int j;
    int r = first;                                        
    while (r<=(last/2)) 
    {
        if ((2*r==last)||(mas[r*2].key<mas[2*r+1].key))
            j = 2*r;
        else
            j=2*r+1;
        if (mas[r].key>mas[j].key) 
        {
            swap(mas[r],mas[j]);
            r = j;
        }
        else
        break;
    }
}
Добавлено через 2 минуты
ой, ступил, сечас переправлю

Добавлено через 41 секунду
всеравно не сортирует как надо
Кликните здесь для просмотра всего текста
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 <conio.h>
#include <time.h>
using namespace std;
 
struct INF
{
    int key;
    char info;
};
const int n = 10;
INF mas[n];
void heapsort (int);
void pushdown (int, int );
void SWAP(int  ,int );
 
int main()
{
    srand(time(0));
    cout<<"MAS"<<endl<<endl;
    for(int i = 0;i < n;i++)
    {
        mas[i].key = rand()%20;
        cout<<mas[i].key<<" ";
    }
    cout<<endl<<endl;
    cout<<"Qsort";
     for(int i = 0;i < n;i++)
    {
        cout<<mas[i].key<<" ";
    }
    heapsort(n);
    getch();
    return 0;
}
void heapsort (int n) 
{
    for (int i=1; i<=(n/2); i++)
       pushdown (i, n);
 
    for (int i = n; i > 1; i--) 
    {         
        swap (mas[1], mas[0]);
        pushdown (1, i-1);
    }
}
void pushdown (int first, int last) 
{
    int j;
    int r = first;                                        
    while (r<=(last/2)) 
    {
        if ((2*r==last)||(mas[r*2].key<mas[2*r+1].key))
            j = 2*r;
        else
            j=2*r+1;
        if (mas[r].key>mas[j].key) 
        {
            swap(mas[r],mas[j]);
            r = j;
        }
        else
        break;
    }
}


Добавлено через 25 секунд
точнее не сортирует((
 
Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru