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

Ошибка в пирамидальной сортировке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести сумму полученных чисел на экран http://www.cyberforum.ru/cpp-beginners/thread813104.html
Сначала пользователь с помощью клавиатуры задает основу (8, 10 или 16), а потом целыеконстанты, записанные этой основой. Каждый раз программа выводит сумму полученных чисел наэкран. Работа заканчивается с помощью сочетания клавиш Ctrl-Z вместо следующейконстанты. Сумма выводится: ​​а) в десятичной записи б) в записи с заданной основой.
C++ Создание текста Написать программу создания текста, в первой строке которого записано целые числа m и n -строк и столбцов числовой матрицы (не более 20). Следующие m строк текста содержатпо n целых чисел (элементов матрицы), разделенных пробелами. Размеры матрицы задаютсяна клавиатуре, а ее элементы образуются с помощью генератора псевдослучайных чисел.Числа в столбце должны иметь один и тот же правый край. http://www.cyberforum.ru/cpp-beginners/thread813103.html
C++ Файл и потоки
Слово - произвольная последовательность непустых символов. Длину слов в файле ничем неограничено. Вывести все слова из текста на экран по одному на строку.
Какой прогой можно по быстрому посмотреть таблицу, создаваемую SQL файлом? C++
Тоесть как открыть sql файл и посмотреть таблицу? Варианты типа открыть ноутпадом не предлагать.
C++ Запись нескольких слов в одну строку http://www.cyberforum.ru/cpp-beginners/thread813086.html
Подскажите, пожалуйста, как записать несколько слов в одну строку....мне необходимо, чтобы высчитывалось количество гласных букв в каждом слове...а у меня только подсчитывается количество гласных в первом слове (хотя я ввожу несколько строк..) #include <iostream> #include <cstring> #include <conio.h> int main(){ int n; std::cin >> n; char *str = new char; //std::cin.getline...
C++ подсчитать количество слов В введенной строке подсчитать количество слов, что одинаково начинаются и заканчиваются (Примечание: Слова в текстовой строке отделены пробелами или группами пробелов. Я эту программу делал на Паскале, а теперь мне надо сделать ее на С++, код паскаля ниже uses crt; const Letters = ; var StringS, Symbol :string; CounterI, Number:byte; begin подробнее

Показать сообщение отдельно
PaDyra
32 / 32 / 8
Регистрация: 06.01.2012
Сообщений: 142

Ошибка в пирамидальной сортировке - C++

19.03.2013, 20:54. Просмотров 249. Ответов 1
Метки (Все метки)

Здравствуйте, подскажите, пожалуйста, где ошибка, сортирует весь массив нормально, кроме одного числа которое находится на 5й позииции, в чем ошибка?? Заранее спс.

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
 
#include < stdio.h>
#include < stdlib.h>
 
  //Параметры: array - массив,
  // i - начало подмножества (корень дерева)
  // k - конец подмножества (последний лист дерева)
 
void Surface(int array[], int i, int k)
{ 
 
 
   int copy = array[i];
     
  int m = 2*i+1, j = 0;
  while(m <= k){ 
   
    if(m == k) j = m; 
      
      else if(array[m] > array[m+1]) j = m;
        
        else j = m + 1;
    
    if(array[j] > copy) {
      array[i] = array[j];     
      i = j;     
      m = 2*i+1; 
    } else break; 
  }
   
  array[i] = copy;      
}
 
 
void FloidSort(int array[], int num)
{
 
  for(int i= num / 2; i > 0; i--) Surface(array,i,num);
  
  for(int k=num-1;k>0;k--){
   
    Surface(array,0,k);
    
    int tmp  = array[k]; 
    array[k] = array[0];  
    array[0] = tmp;       
  }
}
 
 
 int main(void)
 {
    int arr[10]={10,9,8,7,6,5,4,3,2,1};
    printf("Do sort\n");
    for(int i = 0; i < 10; i++)
     {
        printf("%d ",arr[i]);
     }
    
    FloidSort(arr, 10);
    printf("Posle sort \n");
     for(int i = 0; i < 10; i++)
     {
        printf("%d ",arr[i]);
     }
      
  
 return 0 ;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru