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

В чем ошибка? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Игра рулетка через class http://www.cyberforum.ru/cpp-beginners/thread1050341.html
Уже долго сижу тормажу, не могу правильно вернуть обьекту значение, после функции(игра) class CRoulette { private: int bet; int bet_number; int result_number; public: CRoulette();...
C++ перекодировать с с# на с++ Всем привет! Можете помочь с заданием? код написан на С#, но его нужно перекодировать в С++. Вариант 8 контрольной работы №4 И вообще, правильно ли он написан? помогите новчику=( ... http://www.cyberforum.ru/cpp-beginners/thread1050328.html
Программа шифрования bcrypt на с++ C++
Помогите написать программу шифрования bcrypt на с++
C++ Класс массив (Проект)
#pragma once class Book { private: int BookID; char BookName; char BookAutor; char BookGenre; int BookPage;
C++ Определение букв о в задаче , комментирование кода моей задачи http://www.cyberforum.ru/cpp-beginners/thread1050315.html
Прокомментируйте пожалуйста код задачи, а то не понятны некоторые аспекты. #include <cstring> #include <iostream> int strcc(const char* str) { int c = 0; int o_c = 0; int len =...
C++ не удаляется элемент из массива Всем привет. Есть 2 ф-ции одна добавляет в конец массива новый елемент(работает нормально), а вторая должна удалять из массива любой елемент по заданному индексу(не работает). Вот собственно и эта... подробнее

Показать сообщение отдельно
Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257

В чем ошибка? - C++

20.12.2013, 23:34. Просмотров 170. Ответов 0
Метки (Все метки)

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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream.h>
#include <time.h>   
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
 
int n, col_razr=3;
int velich_razr(int chislo,int razr)
{
        while(razr>1)
        {
                chislo/=10;
                razr--;
        }
        return chislo % 10;
}
 
void sort_razr(char dop_mas[100][100], char mas[100], int razr)
{
        int *mas_col = new int[n], i,j, temp=0;
        for(i=0; i<n; i++)
                mas_col[i]=0;
                int a;
        for(i=0; i<n; i++)
        {
                a=velich_razr(mas[i], razr);
                dop_mas[mas_col[a]][a]=mas[i];
                mas_col[a]++;
        }
        for(i=0; i<n; i++)
        {
                for(j=0; j<mas_col[i]; j++)
                {
                        mas[temp]=dop_mas[j][i];
                        temp++;
                }
        }
}
 
void downHeap(char a[], long k, long n)
{
    //  процедура просеивания следующего элемента
    //  До процедуры: a[k+1]...a[n]  - пирамида
    //  После:  a[k]...a[n]  - пирамида
    char new_elem;
    long child;
    new_elem = a[k];
 
    while(k <= n/2) // пока у a[k] есть дети
    {
        child = 2*k;
 
        if( child < n && a[child] < a[child+1] ) //  выбираем большего сына
            child++;
        if( new_elem >= a[child] )
            break;
        // иначе
        a[k] = a[child];    // переносим сына наверх
        k = child;
    }
    a[k] = new_elem;
}
 
void heapSort(char a[], long size)
{
    long i;
    char temp;
 
  // строим пирамиду
    for(i = size / 2 - 1; i >= 0; --i)
        downHeap(a, i, size-1);
 
  // теперь a[0]...a[size-1] пирамида
 
    for(i=size-1; i > 0; --i)
    {
        // меняем первый с последним
        temp = a[i];
        a[i] = a[0];
        a[0] = temp;
        // восстанавливаем пирамидальность a[0]...a[i-1]
        downHeap(a, 0, i-1);
    }
}
 
int main()
 
{
     //   int n;
     double start, end;
 
        cout << "Vvedite razmer posledovatelnosti: ";
        cin >> n;
 
 
        char *s = new char [ n ], *sRazr = new char [ n ], *sPiramid = new char [ n ], dop[ 100 ][ 100 ];
 
 
        cout << "Vvedite posledovatelnost: ";
 
        for( int i = 0; i < n; i++ )
        cin >> s[ i ];
 
        strcpy( sRazr, s );
        strcpy( sPiramid, s );
 
        char str[ 100 ];
        start = clock();       
        for( int a = 0; a < 100000; a++ )
        sort_razr( dop, sRazr, n );
        end = clock();
 
        cout << "\nRezyltat sortirovki Porazrad:";
        for( int j = 0; j < n; j++ )
        cout << " " << sRazr[ j ];                      //
 
        sprintf( str, "%f", end - start );
        cout << "\nDlitelnost: " << str;
 
        start = clock();
        for( int q = 0; q < 100000; q++ )
        heapSort( sPiramid, n );
        end = clock();
 
        cout << "\n\nRezyltat sortirovki Piramidoi:";
        for( int d = 0; d < n; d++ )
        cout << " " << sPiramid[ d ];  
        sprintf( str, "%f", end - start );
        cout << "\nDlitelnost: " << str;
 
        cout << endl;
        return system( "pause" );;
}//---------------------------------------------------------------------------
неправильно сортирует поразрядным методом, в чем ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru