Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как получить ссылку на указатель или указатель на указатель в массиве? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ класс для создания календаря http://www.cyberforum.ru/cpp-beginners/thread1031633.html
помогите пожалуйста создать класс для определения дня недели по календарной дате. Дата – три целых числа: число, месяц, год. Диапазон дат – по меньшей мере, два тысячелетия. (Демонстрация применения)
C++ Система счисления Когда делиться а когда умножаются при переводе из одной системы счисления в другую. http://www.cyberforum.ru/cpp-beginners/thread1031629.html
C++ Структура
Мне дана вот такая задача написать программу на : Пункт обмена валюты состоит из таких элементов как : имя точки обмена валюты, курс покупки, курс продажи, адрес пункта, а также телефона. Надо...
Поиск совершенного числа в массиве C++
Необходимо найти в массиве все совершенные числа в диапазоне от n1 до n2. Будем учитывать, что массив уже заполнен. //задаём диапазон исследуемых элементов cout<<"Введите n1 = "; cin>>n1;...
C++ Считать длину строки текстового файла http://www.cyberforum.ru/cpp-beginners/thread1031583.html
Есть квадратная матрица, которая заполняется данными из файла. Если размерность матрицы больше, чем объём данных в файле, то нужно заполнить недостающие элементы матрицы случайными числами. Пытаюсь...
C++ Где ошибка? Вот условие -"Ученик на свой ​​день рождения раздал ученикам класса конфеты, в том числе и себе. Ребятам давал четное количество, а девушкам нечетное количество. Подсчитать количество девушек и... подробнее

Показать сообщение отдельно
monolit
186 / 185 / 22
Регистрация: 24.03.2011
Сообщений: 669
Завершенные тесты: 1
07.12.2013, 17:47
Я не говорил, что реализация твоего swap'a верна) Привел только примеры заголовков.
Если у тебя что-то большое в структуре, то используй не массив структур, а массив указателей на структуры. И тогда можно будет менять местами ссылки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    student** mas = new student*[sizeOfMas ];
    //выделяешь еще память под каждого  mas[i]'го
    //инициализация элементов массива
 
    for (i = 0; i < (sizeOfMas - 1); i++) {
        ...
        for (j = 0; j < (sizeOfMas - 1); j ++)
            if ((mas[j].id) > (mas[j + 1].id)) {
                SwapStudent(mas[j],mas[j + 1]);
               ...
            }
           ...
    }
C++
1
2
3
4
5
void SwapStudent(student* f, student* s) {
student* temp = f;
f = s;
s = f;
}
Профит!
А у тебя да, ссылки поменять не получится. указатели - да, ссылки - нет.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru