• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ zamiana z systemu 3 na 10 danych wczytanych z pliku

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,602 wizyt
pytanie zadane 22 listopada 2017 w C i C++ przez Norbert123 Początkujący (290 p.)

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.

1 odpowiedź

0 głosów
odpowiedź 23 listopada 2017 przez j23 Mędrzec (195,260 p.)

3^potega

W C/C++ tak się nie potęguje, do tego jest funkcja pow().

Podobne pytania

0 głosów
2 odpowiedzi 3,413 wizyt
0 głosów
1 odpowiedź 575 wizyt
0 głosów
2 odpowiedzi 1,535 wizyt
pytanie zadane 1 listopada 2016 w C i C++ przez niezalogowany

93,191 zapytań

142,206 odpowiedzi

322,041 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2584p. - Adrian Wieprzkowicz
  9. 2536p. - Mikbac
  10. 2485p. - Marcin Putra
  11. 2418p. - Michal Drewniak
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...