0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
|
1 | |
Переставить соседние элементы массива25.07.2016, 21:55. Показов 15831. Ответов 17
Метки нет (Все метки)
Доброй ночи всем.
Подскажите или намекните как подойти к решению данной задачи. Прошу коды не выкладывать хочу сделать сам. Спасибо за понимание Переставьте соседние элементы массива (A[0] c A[1], A[2] c A[3] и т.д.). Если элементов нечетное число, то последний элемент остается на своем месте. Формат входных данных В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива. Формат выходных данных Выведите ответ на задачу. Sample Input: 5 1 2 3 4 5 Sample Output: 2 1 4 3 5
0
|
25.07.2016, 21:55 | |
Ответы с готовыми решениями:
17
Переставить соседние элементы массива Переставить соседние элементы массива Переставить соседние элементы массива Переставить соседние элементы массива: 1-й со 2-м, 3-й с 4-м и т.д. Нумерация элементов начинается с единицы |
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
25.07.2016, 22:06 | 2 |
а в чем вообще вопрос ? делаешь проверку кол-ва элементов например if (n%2==0) четное делаешь цикл с условие i<n
else i<(n-1) в цикле просто делаешь замену, можно так {int temp=A[i+1]; A[i+1]=A[i]; A[i]=temp; i++;} можно {swap(A[i],A[i+1]); i++;} оператор инкремента нужен что бы пропустить итерацию A[i+1]
0
|
Модератор
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
|
|
25.07.2016, 22:13 | 3 |
dimon77, Посмотрите ссылки внизу страницы
0
|
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
||||||
27.07.2016, 15:48 [ТС] | 4 | |||||
Вот сочинил такой вариант
Но проблема . Переставляет хаотически. при вводе 12345 выдает 52143. при вводе 1234567 вообще 5 2 7 4 1 6 3 Подскажите в чем ошибка моего варианта. Спасибо.
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
27.07.2016, 15:51 | 5 |
dimon77, неверный цикл обработки. два цикла иницилизированы i
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
27.07.2016, 15:55 | 7 |
_Ivana, for (int i = 0; i < n; i += 2) {
int num_min = i; for (int i = 0;
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
27.07.2016, 16:30 | 9 |
dimon77, что-то тут вообще странное.... нагородил лишнего...
0
|
27.07.2016, 16:40 | 10 | |||||
0
|
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
|
27.07.2016, 16:46 [ТС] | 11 |
swap не могу будет не зачет.
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
||||||
27.07.2016, 16:58 | 13 | |||||
dimon77,
0
|
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
|
27.07.2016, 17:03 [ТС] | 14 |
выход
7 3 4 5 6 7 8 9 4 3 6 5 8 7 0
0
|
27.07.2016, 17:12 | 15 |
0
|
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
|
27.07.2016, 17:16 [ТС] | 16 |
Код работает супер но я не могу использовать функцию swap. Я типа ее еще не знаю
0
|
27.07.2016, 17:18 | 17 |
0
|
0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 27
|
|
27.07.2016, 17:26 [ТС] | 18 |
Код работает супер но я не могу использовать функцию swap. Я типа ее еще не знаю
Добавлено через 1 минуту если меняю этот блок выдает 7 3 4 5 6 7 8 9 4 3 6 5 8 7 0 вместо последнего числа 0 Добавлено через 5 минут Зиергуд!!!!!!!!!!!!!!! Все вышло!!!!!!!!!!! Огромное спасибо!!!!!!!!!!!!!!!!!! Перемудрил.......
0
|
27.07.2016, 17:26 | |
27.07.2016, 17:26 | |
Помогаю со студенческими работами здесь
18
Переставить элементы массива X с нечетными номерами в начало массива Y в том же порядке, затем элементы с четными номера Поменять соседние элементы массива Поменять местами элементы соседние массива Поменять местами соседние элементы массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |