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

Изменить порядок следования элементов в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ измените порядок следования элементов в массиве так,чтобы... http://www.cyberforum.ru/cpp-beginners/thread627520.html
помогите решать решение измените порядок следования элементов в массиве так,чтобы располагались все отрисательные элементы,затем положительные,а потом нули
C++ Открыть директорию Всем доброго времени суток. Подскажите пожалуйста функцию для того чтобы прочитать директорию. Т.е есть папка и мне нужно получить все названия вложений(файлов и папок).Я использую VS2010 компилятор Microsoft, ОС Windows 7. Прочитал в википедии что функция opendir с Microsoft компилятором не работает.Подскажите пожалуйста кто знает. http://www.cyberforum.ru/cpp-beginners/thread627519.html
Сохранение данных хэш таблицы C++
Здравствуйте. Имеется хеш таблица с размером массива 10 000. В таблицу периодически заносятся данные. Как сохранять данные при выходе из программы, чтобы потом при включении программы они находились в таблице.
Конструктор и деструктор в классе C++
Решил разобраться в конструкторах и деструкторах. Написал, вроде по такой же структуре как и в учебнике. А комп выдает ошибки в компиляции, связанные с типом главной функции. Что не так, подскажите... #include <iostream> #include <cstring> using namespace std; class String { private:
C++ Массив карт http://www.cyberforum.ru/cpp-beginners/thread627469.html
Нужно ввести поток карт, для дальнейшей сортировки. Карта представлена как два символа - (вес) + (масть). Вводится сразу два символа, без пробелов. Дальше идет следующая карта через пробел. Сортировать буду по весу. Так понял, что лучше организовать массив из массива Char . Как это сделать лучше?
C++ функция работает неверно #include <iostream> using namespace std; int zamena(char*, char, char); int main() { char str; cout<<"Enter string: "; cin.getline(str, 20); cout<<"\nenter the two characters "; char c1, c2; подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2012, 20:34     Изменить порядок следования элементов в массиве
Ну зачем сортировки, лучший алгоритм неспециализированной сортировки имеет сложность http://www.cyberforum.ru/cgi-bin/latex.cgi?O(\sqrt{n}). А это настолько банальная задача, которая менее чем за 2 прохождения решается.

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
int main()
{
   int buf, a[] = {1, 2, 0, -2, 0, 3, 0, -3};
   int i, j, n = sizeof(a)/sizeof (*a);
   i = 0;
   j = n - 1;
   while (i < j)
   {
       while (i < j && a[i] < 0)
          i++;
       while (i < j && a[j] >= 0)
          j--;
       if(i < j)
       {
            buf = a[i]; a[i] = a[j]; a[j] = buf;
            i++;
            j--;
       }
   }
   j = n - 1;
   while (i < j)
   {
       while (i < j && a[i] > 0)
          i++;
       while (i < j && a[j] == 0)
          j--;
       if(i < j)
       {
            buf = a[i]; a[i] = a[j]; a[j] = buf;
            i++;
            j--;
       }
   }
   for (i = 0; i < n; i++)
      printf("%d ", a[i]);
   return 0;
}
 
Текущее время: 06:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru