seminar05
parent
1d5f2cac48
commit
c01f40aca3
@ -0,0 +1,22 @@
|
|||||||
|
#include <vector>
|
||||||
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using std::cout, std::endl, std::vector, std::cin;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
size_t n;
|
||||||
|
cin >> n;
|
||||||
|
vector<int> v(n);
|
||||||
|
for (int i = 0; i < n; ++i)
|
||||||
|
cin >> v[i];
|
||||||
|
|
||||||
|
vector<int>::iterator max = std::max_element(v.begin(), v.end());
|
||||||
|
std::sort(v.begin(), max);
|
||||||
|
std::sort(max, v.end());
|
||||||
|
std::reverse(max, v.end());
|
||||||
|
|
||||||
|
for (int i = 0; i < v.size(); ++i)
|
||||||
|
cout << v[i] << (i == v.size() - 1 ? "": " ");
|
||||||
|
cout << endl;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using std::cout, std::endl, std::string, std::vector;
|
||||||
|
|
||||||
|
void string_vector_reverse(vector<string>& sv) {
|
||||||
|
std::for_each(sv.begin(), sv.end(), [](string& s){ std::reverse(s.begin(), s.end()); });
|
||||||
|
std::reverse(sv.begin(), sv.end());
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
vector<string> sv1 {"cat", "dog", "mouse", "elephant"};
|
||||||
|
vector<string> sv2 {"a", "bc"};
|
||||||
|
|
||||||
|
string_vector_reverse(sv1);
|
||||||
|
string_vector_reverse(sv2);
|
||||||
|
|
||||||
|
for (int i = 0; i < sv1.size(); ++i)
|
||||||
|
cout << sv1[i] << (i == sv1.size() - 1 ? "" : " ");
|
||||||
|
cout << endl;
|
||||||
|
for (int i = 0; i < sv2.size(); ++i)
|
||||||
|
cout << sv2[i] << (i == sv2.size() - 1 ? "" : " ");
|
||||||
|
cout << endl;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <string>
|
||||||
|
#include <numeric>
|
||||||
|
#include <cctype>
|
||||||
|
|
||||||
|
using std::string, std::cin, std::cout, std::endl;
|
||||||
|
|
||||||
|
bool strIsUpper(const string& s) {
|
||||||
|
return std::accumulate(s.begin(), s.end(), true, [](bool res, char c) {return res && (!isalpha(c) || isupper(c)); });
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
string s;
|
||||||
|
getline(cin, s);
|
||||||
|
cout << strIsUpper(s) << endl;
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <string>
|
||||||
|
#include <string_view>
|
||||||
|
#include <cctype>
|
||||||
|
|
||||||
|
using std::cout, std::endl, std::string, std::string_view;
|
||||||
|
|
||||||
|
bool isIdentifier(string_view sv) {
|
||||||
|
bool is = true;
|
||||||
|
if (!(std::isalpha(sv[0]) || sv[0] == '_'))
|
||||||
|
return false;
|
||||||
|
if (std::all_of(sv.begin(), sv.end(), [](const char c){ return isalpha(c) || isdigit(c) || c == '_' ;}))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
string s;
|
||||||
|
getline(std::cin, s);
|
||||||
|
cout << isIdentifier(s) << endl;
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using std::cout, std::string, std::endl;
|
||||||
|
|
||||||
|
void move_spaces(string& s) {
|
||||||
|
std::stable_sort(s.begin(), s.end(), [](const char& a, const char& b){ return (b == ' '); });
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
string s;
|
||||||
|
std::getline(std::cin, s);
|
||||||
|
move_spaces(s);
|
||||||
|
// So we can see spaces
|
||||||
|
cout << s << "###" << endl;
|
||||||
|
|
||||||
|
}
|
Binary file not shown.
Reference in New Issue