#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
int main() {
std::ifstream in("symbole.txt");
if (!in) {
std::cerr << "Nie można otworzyć pliku symbole.txt\n";
return 1;
}
long long suma = 0;
long long maks = -1;
std::string maks_str;
std::string line;
while (std::getline(in, line)) {
if (!line.empty() && line.back() == '\r') line.pop_back();
if (line.empty()) continue;
long long val = 0;
for (char c : line) {
int d = 0;
if (c == 'o') d = 0;
else if (c == '+') d = 1;
else if (c == '*') d = 2;
else continue;
val = val * 3 + d;
}
suma += val;
if (val > maks) {
maks = val;
maks_str = line;
}
}
in.close();
// zamiana sumy na zapis trójkowy używając symboli o,+,*
long long temp = suma;
std::string tern = "";
if (temp == 0) {
tern = "o";
} else {
while (temp > 0) {
int d = temp % 3;
char c = (d == 0 ? 'o' : (d == 1 ? '+' : '*'));
tern.push_back(c);
temp /= 3;
}
std::reverse(tern.begin(), tern.end());
}
std::ofstream out("wyniki2.txt");
if (!out) {
std::cerr << "Nie można utworzyć pliku wyniki2.txt\n";
return 1;
}
out << "2.3 " << maks << " " << maks_str << "\n";
out << "2.4 " << suma << " " << tern << "\n";
out.close();
std::cout << "Zapisano wyniki do wyniki2.txt\n";
std::cout << "2.3 " << maks << " " << maks_str << "\n";
std::cout << "2.4 " << suma << " " << tern << "\n";
return 0;
}