Programovací chvilky

Google Martinovi našel a Helenka podle toho funguje Line Algorithms. Doporučuji nám věčným grafikům. 😉
Dneska jsem podle toho vyplodila DDA algoritmus pro kreslení čáry se známým počátečním a koncovým bodem, když už jsem dneska nedošla do školy, protože jsem nestihla vláček.
Takže gró programu bychom měli:

x1:=round(GetMaxX/2); y1:=round(GetMaxY/2);
x2:=GetMaxX; y2:=GetMaxY;
ratio:=(y2-y1)/(x2-x1);
x:=x1; y:=y1;

for i:=x1 to x2 do begin
   x:=x+1;
   y:=y+ratio;
   PutPixel(x,round(y),white);
end;

Pro zájemce (i jako záloha pro mě), je kompletní zdroják k dispozici.

Pak jsme taky C++ (=cépluspluskovali) a to byla spíše Martinova práce, můj úkol to byl hlavně pochopit.
Za nejdůležitější považuju:

void ValSum::PrintOutput() {
	int soucet=0;
	cout 	<< "Prvky: ";
	for (int i=0; i<pocetPrvku; i++) {
		cout << ((int *)poleHodnot)[i] << " ";
		soucet = ((int *)poleHodnot)[i] + soucet;
	}
	cout < "\nSoucet: " << soucet;
	return;
}

int ValSum::InputValues(const void* pValues, int iValueSize, int iCnt) {
	poleHodnot=pValues;
	velikostPrvku=iValueSize;
	pocetPrvku=iCnt;
	return 0;
}

---

int main (int argc, char * const argv[]) {
	ValSum vypocet;
	int pole_hodnot[] = {1,2};
	int velikost=(sizeof(int));
	int pocet=2;
	vypocet.InputValues((void *)pole_hodnot,velikost,pocet);
	vypocet.PrintOutput();
    return 0;
}

Kompletní zdroják je ve „školní“ sekci.

5 odpovědí na “Programovací chvilky”

  1. Tak to Cé plus plus kování bych sem nedával. Připomíná mi to jeden hrozný pondělní podvečer!! Kdy jsem řešil „a co má dělat ta blbá fce InputValues, co ja naky p_m_promenna… fakt shit a to tu nemáš název bázové třídy…

  2. No, tak kompletní zdrojáčky k dispozici jsou taky, jen se mi to psát nechtělo… jen doufám, že to alespoň trochu naplňuje to zadání…

Komentáře jsou uzavřeny.