Решение задачи Переставить соседние с Mccme

Без пояснения   Просмотров: 33


Переставьте соседние элементы списка (A[0] c A[1], A[2] c A[3] и т.д.). Если элементов нечетное число, то последний элемент остается на своем месте.


Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    getline(cin, s);
    s.insert(0, " ");
    int pos = s.find(" "), pos1;
    if(s[s.size() - 1] == ' ')
        s.pop_back();
    vector<int> a;
    while(pos + 1){
        pos1 = s.find(" ", pos + 1);
        a.push_back(stoi(s.substr(pos + 1, pos1 - pos - 1)));
        pos = pos1;
    }
    a.push_back(a[a.size() - 1]);
    for(int i = 0; i < a.size() - 1; i += 2){
        swap(a[i], a[i + 1]);
    }
    for(int i = 0; i < a.size() - 1; ++i)
        cout << a[i] << " ";
    return 0;
}

         

Администратор Photo Автор: Администратор


Код

a = list(input().split())
a = [int(i) for i in a]
a.append(a[len(a) - 1])
for i in range(0, len(a) - 1, 2):
    a[i], a[i + 1] = a[i + 1], a[i]
for i in range (len(a) - 1):
    print(a[i], end = " ")

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться