Tråd: Hello World.
View Single Post
Artig oppgave! Har nesten ikke progget i C++ siden den MasterMind-aktige tråden for ~1.5 år siden Og enda lenger siden digitalteknikk, så da fikk jeg egentlig en kjærkommen refresh på et par ting.

2 spørsmål:

1: Håper C++ er greit, Slashdot skrev noe om språk det finnes tolkere til.. en kjapp gooogling sier meg at det faktisk finnes.

2: Kan jeg poste forbedringer? Hvis ikke, ok, da er this is it.

Koden kan helt sikkert forbedres (sikkert veldig "skolerett"). Forslaget om å gjøre det om til ASCII Art likte jeg, men jeg tror ikke jeg får det til.

Ble imponert over marsboer's flash, men hvor i all verden er data'ene til "hello world" punktene som utgjør skriften? Så ingenting i koden du postet, marsboer.

Ok, mitt forslag:

Kode

// Hello World
// "hello, world" på tungvin måte

// 2009.02.17 - supercopyright (C) 10goto10 på nFF

#include <iostream>
using namespace std;
unsigned short binaryToGray(unsigned short num);

int main()
{
    bool a,b,c,d,e,f,g,dill;
    unsigned char megaton[16];
    unsigned int verdi;

    for (unsigned short sjoko=0;sjoko<16;sjoko++)
    {
        if (sjoko==8) sjoko=12;
        unsigned short lade=binaryToGray(sjoko);
        d = lade & 8;
        e = lade & 4;
        f = lade & 2;
        g = lade & 1;
        verdi = 0;
        for (unsigned short melk=0;melk<8;melk++)
        {
            unsigned short namnam=binaryToGray(melk);
            a = namnam & 1;
            b = namnam & 2;
            c = namnam & 4;

            dill = a&!c&!e | b&c&!d&!e&f | c&e&!f&!g | b&c&e&!f | a&b&!c | c&d&!e&!f&!g | a&!b&c&d&!e&!f;
            dill = dill | !a&b&c&!e&!f&!g | b&!c&d&!e&!f&g | a&b&c&d&!e&f | b&c&d&f&!g | b&c&e&!f;
            dill = dill | a&!c&!d&e&!f&!g | a&!c&!d&e&f&g | b&!c&!d&e&f&g;
            dill = dill | a&c&!d&e&f&g | !b&c&!d&e&f&g | a&b&c&!d&!e&g | !a&!b&c&!d&!e&!f&g;
            if (dill==true)
            {
                int jalla=1; // gadd ikke ta en #include <math> -ting bare for å få 2^(7-melk)
                for (int digitval=0;digitval<7-melk;digitval++) jalla = jalla * 2;
                verdi = verdi + jalla;
            }
        }
        megaton[lade] = (unsigned char)verdi;
    }

    for (int i=0;i<12;i++)
    {
        cout << megaton[i];
    }
}

// Jeg skal innrømme at jeg fant denne (og den reversible, ikke tatt med her) snutten på nettet:
// http://www.dspguru.com/comp.dsp/tricks/alg/grayconv.htm
unsigned short binaryToGray(unsigned short num)
{
        return (num>>1) ^ num;
}