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

задачка на сортировку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Какие самые крутые западные форумы про с++ ? http://www.cyberforum.ru/cpp-beginners/thread597842.html
Какие самые крутые западные форумы про с++ ?
C++ Вычислите сумму квадратов всех элементов заданного массива A[N], за исключением элементов, кратных пяти. Вычислите сумму квадратов всех элементов заданного массива A, за исключением элементов, кратных пяти. http://www.cyberforum.ru/cpp-beginners/thread597836.html
капча C++
имеется сервис для рассылки смс как можно распознать капчу она там числовая 3х символьная http://sms.wapscriptphp.com/index.php
Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами. C++
Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов состоящих из пяти символов
C++ двумерный динамический массив http://www.cyberforum.ru/cpp-beginners/thread597821.html
Задан двумерный динамический массив, найти все элементы больше за среднее арифметическое в каждой строке и удалить их. Добавлено через 58 минут вот что я сделал.. только я сомневаюсь что это правильно(( помогите с кодом.. #include <iostream> #include <conio.h> using namespace std;
C++ Найти и вывести на печать слова, у которых первая буква входит в слово ещё раз Ребята, помогите пожалуйста! Завтра нужно сдавать лабу для допуска к экзамену, а я никак не могу её сделать... Задание: в произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов, найти и вывести на печать слова, у которых первая буква входит в слово ещё раз. Вывести полученный текст на экран и информацию для каждой строки, сколько слов не вошло... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
06.06.2012, 12:53     задачка на сортировку
Раз у тебя два ключа, то и два признака сравнения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template< class T > void Sort(T* Data, int Count) 
{
 T t;
 T *i;
 T *j;
 T *e;
 for (e=Data+Count-1, i=Data+1; i<=e; ++i)
 {
  for (j = i - 1; (j >= Data) && ((j->age>i->age)||((j->age==i->age)&&(j->number<i->number));--j)
  {
   *(j+1)=*j;
  }
  t=*i;
  *i=*j;
  *j=t;
 }
}
Добавлено через 6 минут
Или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template< class T > void Sort(T* Data, int Count)
{
 T t;
 T *i;
 T *j;
 T *m;
 for (i=Data+Count-1; i>Data; --i)
 {
   for (m=i, j=i-1; j>=Data; --j)
   {
     if ((m->age<j->age)||((m->age<j->age)&&(m->number>j->number)))
     {
       m=j;
     }
   }
   if (m!=i)
   {
    t=*i;
    *i=*m;
    *m=t;
   }
 }
}
 
Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru