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

Переставить местами строки в масиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запустить bat-файл с помощью system http://www.cyberforum.ru/cpp-beginners/thread827725.html
Хочу вызвать из своей программы с помощью system bat-файл: Читаю его место положение из файла(читается всё правильно) Например:C:\qqqqqq\aaaaa\=ddddd=\vvvvv\1.bat system(file); А в ответ получаю:...
C++ Трансформируйте задачу: Ссылки 5.2 Ссылки Написать программу, в соответствии с заданием из пункта 5.1, но вместо самой переменной использовать ссылку на нее. Вариант выбирать следующим образом: к номеру в списке добавить 5.... http://www.cyberforum.ru/cpp-beginners/thread827684.html
Имя массива как указатель C++
Выполните программу на С++: Используя имя массива как указатель, и применяя адресную арифметику выполнить задание. 3. Дан одномерный массив, состоящий из N целочисленных элементов. 3.1. Ввести...
C++ Передача массивов в функцию (многомерные массивы)
Напишите программу на С++: 5.3 Передача массивов в функцию (многомерные массивы) Написать программу, выполняющую действия в соответствии с вариантом задания и передающую массив в функцию. Ввод и...
C++ Передача массивов в функцию (одномерные массивы) http://www.cyberforum.ru/cpp-beginners/thread827679.html
Кто-нибудь может сделать? Заранее блогодарю. Передача массивов в функцию (одномерные массивы) Определить функции, выполняющие действия в соответствии с вариантом задания. 3. Дан одномерный массив,...
C++ Найти наибольшую из высот треугольника Последние задачи семестра, помогите пожалуйста!!! Функции, параметры функций Определить три функции, выполняющие действия в соответствии с вариантом задания, по одной на каждый способ передачи... подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
04.04.2013, 12:52
Цитата Сообщение от Mr_malysh Посмотреть сообщение
Как поменять элементы этого массива местами?
Правильным вариантом будет реализация оператора присваивания (operator=) для ABC, и дальнейшее использование std::swap. Но можно по-тупому (меняем i и j элементы):
C++
1
2
3
4
ABC tmp;
memcpy( &tmp, &Mas[i], sizeof(ABC) );
memcpy( &Mas[i], &Mas[j], sizeof(ABC) );
memcpy( &Mas[j], &tmp, sizeof(ABC) );
Добавлено через 59 минут
P.S. Что-то я протупил На самом деле если член класса (структуры) является массивом, то версия оператора присваивания, сгенерированного компилятором выполнит поэлементное копирование массива.
Т.е. можно было обойтись более простым вариантом:
C++
1
2
3
ABC tmp = Mas[i];
Mas[i] = Mas[j];
Mas[j] = tmp;
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru