Browse Source

Solved Lab3 Slide6

master
Kenneth Bruen 3 years ago
parent
commit
d96dc8247a
Signed by: kbruen
GPG Key ID: CB77B9FE7F902176
  1. 15
      Lab3/README.md
  2. 34
      Lab3/slide6.cpp
  3. 1
      README.md

15
Lab3/README.md

@ -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).

34
Lab3/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;
}

1
README.md

@ -2,3 +2,4 @@
- [Lab1](./Lab1/) - [Lab1](./Lab1/)
- [Lab2](./Lab2/) - [Lab2](./Lab2/)
- [Lab3](./Lab3/)

Loading…
Cancel
Save