• Предмет: Информатика
  • Автор: pavidl0
  • Вопрос задан 6 месяцев назад

дана строка. поменять местами самое длинное и самое короткое слово
c++


pavidl0: c++

Ответы

Ответ дал: BynderKind
0

Відповідь:

#include <iostream>

#include <string>

#include <sstream>

#include <vector>

#include <algorithm>

#include <cstring>

using namespace std;

int main() {

    vector<string>val,v;

    string s;

    getline(cin,s);

    stringstream ss(s);

    string s1;

    while(getline(ss,s1,' ')) {

        val.push_back(s1);

        v.push_back(s1);

    }

    sort(val.begin(),val.end(),[](string s2,string s3) {

        return s2.length()<s3.length();

    });

    vector<string>::iterator max=val.end()-1;

    vector<string>::iterator min=val.begin();

    vector<string>::iterator f=find(v.begin(),v.end(),*max);

    vector<string>::iterator fi=find(v.begin(),v.end(),*min);

    iter_swap(f,fi);

    for(    vector<string>::iterator iter=v.begin(); iter!=v.end(); iter++) {

        cout<<*iter<<" ";

    }

    return 0;

}

Пояснення:


Как-то так

Вас заинтересует