Prosiłbym o pomoc z zadaniem z C++, a konkretnie z obsługą plików.
Z pliku TROJKOWE.TXT zawierającym liczby w systemie trójkowym przepisz do pliku trojkoweZDwojka.txt te liczby, które mają przynajmniej jedną cyfrę 2. Weź pod uwagę fakt, że liczby są bardzo duże i nie można przechować ich w typie liczbowym. Następnie do pliku zamienioneTrojkowe.txt zapisz wartości liczb w systemie dziesiętnym.
Plik TROJKOWE.txt posiada liczby w systemie 3 w wielu wierszach.
Pierwszą część zadania udało mi się zrobić, ale z przeliczaniem z 3 na 10 mam już problem.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream wejscie("TROJKOWE.txt");
ofstream wyjscie1("trojkowez2.txt");
ofstream wyjscie2("a2.txt");
if(!wejscie)
{
cout << "pliku nie mozna otworzyc" << endl;
system("PAUSE");
return 1;
}
string n;
int licznik=0;
int dlug=0;
int naj=0;
int potega=0;
while(!wejscie.eof())
{
wejscie>>n;
//wyszukanie dwójek
if(n.find(2)){
wyjscie1<<n<<endl;
}
//przeliczanie
for(int i=n.size();i<=0;i--){
n[i]=n[i]*3^potega++;
}
wyjscie2<<n<<endl;
}
wejscie.close();
wyjscie1.close();
wyjscie2.close();
system("PAUSE");
return 0;
}
Wiem, że ten for nie zadziała, bo to jest w stringu, który był wymagany w 1 części zadania, więc nie wykona tych działań. Starałem się coś poprzypisywać stringa do inta, ale bez skutku.