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;
}