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

Пузырьковая сортировка - исправить код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка при динамическом выделении двумерного массива char http://www.cyberforum.ru/cpp-beginners/thread1228613.html
Ребята, спасите-помогите. Нужно выделить двумерный массив типа char для игрового поля. Выделяю вроде бы как положено, но получаю рантайм ошибку при запуске. Уже больше двух часов парюсь с этим массивом, ума не приложу где может быть ошибка. Перепроверил всё десятки раз. Код конструктора, в котором выделяется массив: GameField::GameField(size_t _sizeX, size_t _sizeY, char _markerP1, char...
C++ Реализовать функцию целочисленного деления для двух линейных двусвязных списков Реализовать операцию / (целочисленное деление) для двух длинных натуральных чисел. Операнды должны быть представлены линейными двусвязными списками, информационная часть элементов которых одна цифра числа. #include <iostream> using namespace std; #include <stdlib.h> struct Node { int info; Node *next; Node *prev; }; http://www.cyberforum.ru/cpp-beginners/thread1228587.html
C++ Как правильно создать условие, в зависимости от слова, которое вводишь в консоль
Решил познать великий и могучий с++. Уже в 1ый день пошли косяки. Захотел начать с простой программы, которая в зависимости от ответа да или нет общалась с пользователем через консоль. Только вот как правильно юзать условия в зависимости от того, что пользователь ввел в строку я точно не знаю. Пожалуйста, исправьте или подскажите. #include <iostream> #include <ostream> #include <clocale>...
Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному C++
Задание:В первой строке входных данных содержатся числа N и K (0NK100001). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке – K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2109. Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько,...
C++ Клиент-сервер - организовать передачу файлов http://www.cyberforum.ru/cpp-beginners/thread1228491.html
Написал программу клиент - сервер и хотел бы её модернизировать, но ни хватает знаний и практики. Вот что хотелось бы добавить: 1)в примерах нашёл, что и сервера можно отправлять файлы клиентам, но там надо переключать (слушать, пронимать). Можно прописать так чтобы он слушал и отправлял файлу (автоматически) клиенту; 2)сделать таймер событий, проверять все пришедшие файлы, смотреть на дату...
C++ Разделить строку на две части дана задача.есть переменная char = россия. надо разделить её на две части так,чтобы получилось что a = рос,b=сия подробнее

Показать сообщение отдельно
khaleesi
0 / 0 / 0
Регистрация: 23.03.2014
Сообщений: 12
17.07.2014, 14:56     Пузырьковая сортировка - исправить код
У меня есть массив
C++
1
unsigned char *buffer = new unsigned char[length * width]
. И мне нужно реализовать пузырьковую сортировку (сравниваются значения функции).

C++
1
2
3
4
5
6
7
8
9
10
unsigned char *tmp = new unsigned char[chromosomeSize];
for (int i = 0; i < length; i++) {
    for (int j = 0; j < length - i - 1; j++) {
        if (function(buffer, width, j) < function(buffer, width, j+1)) {
            std::copy(buffer, buffer + j*width, stdext::checked_array_iterator<unsigned char*>(tmp, j*width)); 
                        std::copy(buffer + j*width, buffer + (j + 1)*width, stdext::checked_array_iterator<unsigned char*>(buffer + j*width, (j + 1)*width)); //и тут проблема: мне нужно указать заполняемый массив (т.е. часть массива от buffer[0] до buffer[j*width] - как её выделить, чтобы передать в функцию copy?) а я вроде как указала buffer[j*width], хотя компилятор не ругался.
                     std::copy(tmp, tmp + width, stdext::checked_array_iterator<unsigned char*>(buffer + (j + 1)*width, width));// ну и здесь тоже самое с buffer[(j+1)*width]
 
            }
        }
Как мне выделить кусок (часть) массива, чтобы строки корректно отсортировались? Программа у меня работает, но неправильно. Боюсь, что непонятно объяснила, поэтому жду советов и вопросов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru