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

сортировка перестановками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция поиска количества максимальных элементов. http://www.cyberforum.ru/cpp-beginners/thread528553.html
Всем добрый вечер. В С++ начинающий, поэтому прошу вашей помощи. Вот собственно в чем заключается моя просьба: 3. Напишите функцию поиска количества максимальных элементов в массиве. Буду благодарен любой помощи или подсказки, заранее благодарен.
C++ класс CString расскажите пожалуйста, где найти информацию по этому классу?как его подключать, какие функции в нем есть? какую литературу прочесть чтобы в нем ориентироваться? а то я ничего толкового не встречал, а необходимо понять, что это такое. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread528549.html
inplace_merge C++
Здравствуйте. Нужна оч эффективный аналог это фунции...попытался придумать алгоритм, по которому она работает...получается слишком много проверок, копирований и т.д.... решил, что обычное копирование будет работать быстрее: vector<int> my_inplace_merge(vector<int>::iterator midl, vector<int> &vec) { vector<int> help; auto it1 = vec.begin(); auto it2 = midl; auto e = vec.end(); while...
Получить доступ к памяти C++
struct df{ unsigned f1: 1; unsigned f2: 1; unsigned f3: 6; }; df gh; df* pointer=(df*)0x50000000; int _tmain(int argc, _TCHAR* argv)
C++ сортировка и связь массивов http://www.cyberforum.ru/cpp-beginners/thread528531.html
доброго времени суток. проблема следующая: есть массив, скажем array1 = {1.3,0.5,5.7,0.9}; нужно создать еще один массив в котором по умолчанию стоят ранги первого массива array2= {1,2,3,4};. но массив array1 не упорядочен, и вот если его упорядочить т.е. array1 = {0.5,0.9,1.3,5.7}; то и второй массив изменится т.е. array2= {2,4,1,3}; как это сделать, все что я пробовал не...
C++ Поменять местами элементы матрицы, расположенные в верхней и нижней четвертях В квадратной матрице поменять местами элементы, расположенные в верхней и нижней четвертях, ограниченных главной и побочной диагоналями (за исключением элементов этих диагоналей). Помогите пожалуйста решить задачу! подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.04.2012, 11:46     сортировка перестановками
наверное там, где не добавил функцию main. (или она в другом файле)?

C++
1
2
3
4
5
6
7
8
9
void change(tElem* &a)
{ifstream f;
create(a,f);
    tElem *temp;
    a=new tElem;
        temp=a;
        a=temp->r;
        temp->r=a;
}
ЛОЛ. То есть ты для перестановки двух элементов
-создаёшь заново список, причём
-создаёшь его из какого-то неинициализированного файлопотока,
-берёшь в качестве аргумента нечто tElem* &a, боюсь предположить, что это, указатель на ссылку?
-затем полностью затираешь свою ссылку "а", теряя всё
-затем в а записываешь неинициализированное поле r из только созданного объекта temp
-И затем снова присваиваешь его a , в точно таком виде, в каком ты его прочитал.

Может тебе рановато списки проходить?

Добавлено через 17 минут
и ещё: вот это
C++
1
2
3
4
5
while (list)
    {
        if (list->r->value > list->r->r-value)
        change(list);
    }
-это не сортировка пузырьком, это один проход пузырька, а надо сортировать, пока не отсортируется
Лучше так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
tElem *list_ptr;
bool run;
while (run){
   run=true;
   list_ptr=start;
   while (list_ptr->r)
    {
        if (list_ptr->value > list_ptr->r-value){
                change(list_ptr);
                run=false;
               }
    }
}
Так что перестань пихать везде create(list)!!!!!
 
Текущее время: 04:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru