Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!
2013-10-10    Programowanie, C++, Brainfuck, Kod

Kolejny post z serii code. Tym razem programik ma za zadanie przekonwertować tekst z pliku do zrozumiałego przez kompilator BF:
 
    #include <iostream>
    #include <fstream>
 
    using namespace std;
 
    int main()
    {
        fstream input("file.txt", ios::in);
        fstream output("BF_output.txt", ios::out);
 
        if(!input)
            return 1;
 
        int pos = 0;
        int dir = 1;
 
        char temp = input.get();
 
        while(!input.eof())
        {
            if(temp < pos)
                dir = -1;
            else if(temp > pos)
                dir =  1;
 
            for(; pos != temp; pos += dir)
            {
                if(dir == 1)
                    output << '+';
                else
                    output << '-';
            }
 
            output << '.';
 
            temp = input.get();
        }
 
        return 0;
    }
 

Interpretacja została napisana bez jakikolwiek optymalizacji. Jednak jako zadanie domowe możecie pokusić się o zaimplementowanie prostej optymalizacji.
Dodaj komentarz:
Nick:
URL(opcjonalnie):