Kenneth Bruen
3 years ago
3 changed files with 50 additions and 0 deletions
@ -0,0 +1,15 @@ |
|||||||
|
# CCIoT Homework Lab 3 |
||||||
|
|
||||||
|
## Slide 6 |
||||||
|
|
||||||
|
### Problem |
||||||
|
|
||||||
|
Try this out: |
||||||
|
|
||||||
|
1. Make a vector of pairs (ints); |
||||||
|
2. Sort the vector by the first element in the pair; |
||||||
|
3. Replace the odd pairs with zero on the second element; |
||||||
|
|
||||||
|
### Solution |
||||||
|
|
||||||
|
See [slide6.cpp](./slide6.cpp). |
@ -0,0 +1,34 @@ |
|||||||
|
#include <iostream> |
||||||
|
#include <vector> |
||||||
|
#include <utility> |
||||||
|
#include <algorithm> |
||||||
|
|
||||||
|
int main() { |
||||||
|
// 1.
|
||||||
|
std::vector<std::pair<int, int>> v {{2, 8}, {9, 6}, {4, 7}, {22, 4}, {123, 321}, {1, 1}, {-7, 5}}; |
||||||
|
|
||||||
|
// 2.
|
||||||
|
std::sort(std::begin(v), std::end(v), [](const auto& e1, const auto& e2) { |
||||||
|
return e1.first < e2.first; |
||||||
|
}); |
||||||
|
|
||||||
|
// 3.
|
||||||
|
bool odd {true}; |
||||||
|
for (auto it {std::begin(v)}; it != std::end(v); ++it) { |
||||||
|
if (odd) { |
||||||
|
(*it).second = 0; |
||||||
|
} |
||||||
|
odd = !odd; |
||||||
|
} |
||||||
|
|
||||||
|
// Print the results
|
||||||
|
bool first {true}; |
||||||
|
for (const auto& item : v) { |
||||||
|
if (first) first = false; |
||||||
|
else std::cout << ", "; |
||||||
|
std::cout << "(" << item.first << ", " << item.second << ")"; |
||||||
|
} |
||||||
|
std::cout << std::endl; |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
Loading…
Reference in new issue