Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <vector>
- #include <iostream>
- void maxmin(const std::vector<int>& wektor, int &maxLiczba, int &minLiczba) {
- auto rozmiar{ wektor.size() };
- maxLiczba = wektor[0];
- minLiczba = wektor[0];
- for (auto i{ 1 }; i < rozmiar; ++i) {
- if (wektor[i] > maxLiczba) {
- maxLiczba = wektor[i];
- }
- else if (wektor[i] < minLiczba) {
- minLiczba = wektor[i];
- }
- }
- }
- std::string odwrocCiag(const std::string& ciag) {
- std::string wynik{};
- for (int i{ static_cast<int>(ciag.size() - 1) }; i >= 0; --i) {
- wynik += ciag[i];
- }
- return wynik;
- }
- std::string zamienNaBinarna(int liczba) {
- std::string wynik{};
- while (liczba > 0) {
- wynik += (liczba % 2 == 0 ? '0' : '1');
- liczba /= 2;
- }
- return odwrocCiag(wynik);
- }
- int main() {
- std::ifstream plik{ "liczby.txt" }; // utworzenie obiektu wyjścia z podłączonym plikiem txt
- int liczba;
- std::vector<int> wektorLiczb{}; // zainicjowanie pustego wektora przechowującego liczby
- while (plik >> liczba) {
- wektorLiczb.push_back(liczba); // dodanie liczby do wektora
- }
- plik.close();
- int maxLiczba, minLiczba;
- maxmin(wektorLiczb, maxLiczba, minLiczba);
- std::cout << "Najwieksza liczba wynosi " << maxLiczba << ", a najmniejsza wynosi " << minLiczba << std::endl;
- std::cout << "Liczby w zapisie binarnym:\n";
- auto suma{ 0 };
- for (const auto& x : wektorLiczb) {
- std::cout << '\t' << x << '\t' << zamienNaBinarna(x) << std::endl;
- suma += x;
- }
- std::cout << "Zapis binarny najwiekszej liczby: " << zamienNaBinarna(maxLiczba) << std::endl;
- std::cout << "Suma wszystkich liczb wynosi " << suma << std::endl;
- auto sumaOstatnichCyfr{ suma % 10 };
- suma /= 10;
- sumaOstatnichCyfr += suma % 10;
- std::cout << "Suma ostatnich dwoch cyfr z sumy liczb wynosi " << sumaOstatnichCyfr << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement