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

Преобразовать массив таким образом, чтобы в его первой половине расположились элементы, стоящие в четных позициях - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как обратиться к элементу списка list ? http://www.cyberforum.ru/cpp-beginners/thread878465.html
list<int> a;
C++ сравнение файлов Нужно доделать программу вот по такому заданию Даны символьные файлы f и s . Записать в файл h все начальные совпадающие компоненты файлов s и f . #include <iostream> #include <string> ... http://www.cyberforum.ru/cpp-beginners/thread878454.html
СЛАУ методом Гаусса где ведущий элемент отыскивается Среди строк и столбцов C++
Народ помагите немагу разобраться, написал Гауса но немагу разобраться как сделать это (где ведущий элемент отыскивается среди строк и столбцов) Вот рабочая прога.Оч нада в долгу не останусь) ...
Условная операция C++
Приветствую. Ребят, объясните пожалуйста, почему данная функция возвращает в обоих случаях модуль числа т.е. число без знака. (n < 0 )? -n : n; если n < 0 (как во втором вызове) то по идее должно...
C++ Как принять натуральные числа от множественных пользователей http://www.cyberforum.ru/cpp-beginners/thread878436.html
Как принять натуральные числа от множественных пользователей формата 3<N<30???? ___________________ Нужен код этого действия)
C++ Как проще всего понять массивы? Такая проблема, учусь на первом курсе, язык C++ изучаю. Но как только дело дошло до массивов, так обучение встало. С указаниями препода за две пары еле решил одну задачку с одномерным массивом, и то... подробнее

Показать сообщение отдельно
UnsKneD
алкокодер
155 / 151 / 12
Регистрация: 27.12.2012
Сообщений: 550
25.05.2013, 21:05
lulu13,
самый простой вариант, завести 2 временных массива, один для чётных второй для нечётных, записать в них данные из исходного массива, а потом слить из 2 временных обратно, с начала из первого потом из второго.

Добавлено через 23 минуты
Чуть сложнее.
Проходим массив A размером N, от 0 до N/2 если (i+1) нечетно, то проходим массив A от N/2 до N и ищем четные позиции, если нашли, то меняем элементы A[i] и A[j] местами.
примерно так,
цикл(i = 0, i<N/2){
если( (i + 1)%2 != 0){
цикл(j = N/2, j<N){
eсли( (j + 1)%2 == 0 ){
обмен(A[i],A[j]);
}
}
}
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.