Porovnání a invertování souřadnic – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Porovnání a invertování souřadnic – Java – Fórum – Programujte.comPorovnání a invertování souřadnic – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Siggi0
Návštěvník
12. 11. 2015   #1
-
0
-

Zdravím, dlouho jsem tu nepsal :). (Jedná se o bonusový úkol, nicméně je povinnej).

 Tohle je předloha už naimplementovaná.

    public static void main(String[] args) {
        
        Vertex2D[] vert1 = {
            new Vertex2D(-100,-100),
            new Vertex2D( -40,  10),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40)
        };
        
        Vertex2D[] vert2 = {
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40),
            new Vertex2D(-100,-100),
            new Vertex2D( -40,  10)
        };
        
        Vertex2D[] vert3 = {
            new Vertex2D( -40,  10),
            new Vertex2D(-100,-100),
            new Vertex2D(  60, -40),
            new Vertex2D(  10, -20),
            new Vertex2D(  50,  20)
        };
        
        Vertex2D[] vert4 = {
            new Vertex2D( -40,  10),
            new Vertex2D(-100,-100),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40)
        };
        
        if (!new ArrayPolygon(vert1).compare(new ArrayPolygon(vert1))) {
            System.out.println("Chyba implementace compare() - prvni a prvni polygon jsou stejne");
        } else if (!new ArrayPolygon(vert1).compare(new ArrayPolygon(vert2))) {
            System.out.println("Chyba implementace compare() - prvni a druhy polygon jsou stejne");
        } else if (!new ArrayPolygon(vert1).compare(new ArrayPolygon(vert3))) {
            System.out.println("Chyba implementace compare() - prvni a treti polygon jsou stejne");
        } else if (new ArrayPolygon(vert1).compare(new ArrayPolygon(vert4))) {
            System.out.println("Chyba implementace compare() - prvni a ctvrty polygon nejsou stejne");
        } else {
            System.out.println("GRATULUJEME - Zda se, ze metoda compare() je spravne");
        }
        
}

Mám za úkol porovnat, jestli se daný polygon rovná druhému.

    public boolean compare(ArrayPolygon pol) {
        Vertex2D[] vert1 = {
            new Vertex2D(-100,-100),
            new Vertex2D( -40,  10),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40)
        };
	//vert1 tam nemá být, dal jsem si ho tam ručně pro kontrolu, ale i tak to
	  píše, že se nerovnají, ikdyž se rovnají :D
        
        if(new ArrayPolygon(vert1) == pol) {
            return true;
        } else if(new ArrayPolygon(vert1) == move()) {
            return true;
        } else if(new ArrayPolygon(vert1) == invert()) {
            return true;
        } else if(new ArrayPolygon(vert1) == invertAndMove()) {
            return true;
        } else {
            return false;
        }
    }

/* 
   dále metodu move, kterou si před stavuji, že porovná polygon, když se nerovná
   tak se vertex posune o jeden a znova zkontroluje a takhle až se buď najde nebo
   proběhne celé kolečko
*/

    public ArrayPolygon move() {
        for(int i = 0; i < getNumVertices()/*5*/; i++) {
            
        }
    }

/*
   když ani to se nebude rovnat zkusí se invert
*/

    public ArrayPolygon invert() {	// teď je to mechanické a špatně
        return new ArrayPolygon(new Vertex2D[] {getVertex(2), getVertex(1), getVertex(0)});
    }

/*
   a nakonec, když ani to se nebude rovnat, tak se to spojí¨
   1) invertuje se polygon
   2) bude se posouvat vertexy
   když ani jedno nevyjde, prohlásí se, že se nerovná
*/

/*
 Nebo mě teď ještě napadlo, posunout vertex a když nevyjde zkusit
 ho rovnou z invertovat a přejít na další vertex v případě neúspěchu
tím bych měl předejít jednomu kroku
*/

Nevím jak to efektivně naprogramovat.

Ručně psané pro teorii.

Připojen obrázek.

Nahlásit jako SPAM
IP: 147.251.212.–
Siggi0
Návštěvník
12. 11. 2015   #2
-
0
-

Invertovat jsem zkusil něco takového.

    public ArrayPolygon invert(ArrayPolygon pol) {
        Vertex2D pom;
        
        for(int i = 0; i < getNumVertices() / 2; i++) {
            pom = pol.getVertex(i);
            pol.getVertex(i) = pol.getVertex(getNumVertices() - 1 - i); // tady mi to hlásí chybu
            pol.getVertex(getNumVertices() - 1 - i) = pom; // a tady taky
        }
        return pol;
    }

Chyba: expected variable, but found value.

Mělo by to vzít polygon s n prvkama, ty proházet: 1 s posledním, 2 s předposledním atd.. a pak vrátit invertovaný polygon.

Na posun mě napadlo nacpat pol do zacykleného spojového seznamu a pak jen o posouvat prvky o n kroků.

} else {
	for(int k = 1; k < getNumVertices(); k++) { // o kolik se posune prvek
		if(new ArrayPolygon(vert1) == move(pol, k)) {
            		return true;
		}
	}
} 

public ArrayPolygon move(ArrayPolygon pol, k) {
        // nacpání pol do circle linked list

	for(int i = 0; i < getNumVertices(); i++) {
     		// linked list prvek i posunutý o k kroků
	}

	return pol;
}
Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #3
-
0
-

#2 Siggi
Tak ten chybující řádek vyhoď a ten následující také. Nemáš změnit polygon, ale vytvořit nový, invertovaný.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #4
-
0
-

#3 Kit 

Tak jsem to ulehčil, ale stále stejná chyba.

    public ArrayPolygon invert(ArrayPolygon pol) {
        ArrayPolygon revers;
        
        for(int i = 0; i < getNumVertices(); i++) {
            revers.getVertex(i) = /*new*/ pol.getVertex(getNumVertices() - 1 - i);
        }
        return revers;
    }
Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #5
-
0
-

#4 Siggi
Však jsi tam tu chybu nechal. 

public ArrayPolygon invert(ArrayPolygon pol) {
    Vertex2D[] revers;
    int vertices = pol.getNumVertices();
    for(int i = 0; i < vertices; i++) {
        revers[i] = pol.getVertex(vertices - 1 - i);
    }
    return new ArrayPolygon(revers);
}

Mnohem lépe (a objektověji) by se to dělalo, kdyby metoda invert() byla uvnitř třídy ArrayPolygon. Takhle je to jen škrábání pravou nohou za levým uchem a porušování Déméteřina zákona.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #6
-
0
-

#5 Kit
Ale ne naschvál, jenom jsem nevěděl co přesně to po mně vyžaduje. Takhle bych to řešil v Cčku, nevím co přesně porušuji v Javě.

Kravina dávat null.  Vertex2D[] revers = new Vertex2D[getNumVertices()];

Invertování mi funguje, teď zařídit posun prvků.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #7
-
0
-

#6 Siggi
Nezapomeň se zbavovat invariantů cyklu. Zejména pokud je tím invariantem volání nějaké cizí metody, u které si nikdy nemůžeš jist, zda má či nemá vedlejší efekty. Kompilátor nemá jak optimalizovat takové volání. Programy jsou pak líné a zbytečně se to svádí na Javu.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Kit+15
Guru
13. 11. 2015   #8
-
0
-

#6 Siggi
V Javě jen porušuješ to, že se snažíš zapisovat do getteru. Prostě taková prkotina :)

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #9
-
0
-

Kit
Myslíš, že při posouvání prvku bude nejlepší cyklený linked list? a nebo je nějaký lepší způsob. Potřebuji ho vyzkoušet na posuny o 1 - n max. Tam ten nápad s LL se mi líbí, ale nevím jak ho realizovat a připadá mi to moc složité.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #10
-
0
-

#9 Siggi
Myslím si, že nejvhodnější bude ArrayList. Má v sobě i posuny.

Na zacyklené struktury si dávej bacha, dají se s nimi udělat nepříjemné memory leaky.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #11
-
0
-

#10 Kit
Všude se píše, že se posouvá pomocí remove, ale já tam nechci nic mazat, ale jenom posunout. Nemůžu se nikde dopídit opačného efektu, než mi google nabízí.

Nahlásit jako SPAM
IP: 46.229.123.–
Siggi0
Návštěvník
13. 11. 2015   #12
-
0
-

Pokud to chápe, tak u arraylist se posouvá, že se smaže první prvek, prvky se posunou a na poslední místo se přídá ten první prvek. Ale co když to chci z automatizovat a posouvat o n prvků? To se nevleze do jednoho cyklu.

Posun o jeden, kontrola. posun o dva, kotrola. .... posun o n_MAX. kontrola.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #13
-
0
-

#12 Siggi
Jaká kontrola? K čemu?

Nemám zdroják implementace třídy ArrayList, ale v těch posunech nevidím problém, neboť k fyzickým posunům nejspíš téměř vůbec nedochází. Pokud by něco takového vadilo, stačí to jedno slovo ArrayList ve svém zdrojáku vyměnit za LinkedList a naráz máš implementaci vázanými strukturami, které jsou sice obvykle méně výhodné, ale pro tvůj případ mohou být lepší. 

// místo
List<Vertex2D> polygon = new ArrayList<Vertex2D>();
// napíšeš
List<Vertex2D> polygon = new LinkedList<Vertex2D>();

Nic víc ve zbytku aplikace měnit nemusíš.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #14
-
0
-

#13 Kit
Kontrola s mím daným polygonem, jestli se rovnají, pokud ne, tak se posune o dva a znova se zkontroluje polygonem. Tak je myšlena ta kontrola.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #15
-
0
-

#14 Siggi
Proč posun o dva a ne o jeden?

Při porovnávání přece ten polygon vůbec nemusíš rotovat ani převracet. Stačí jeden polygon procházet po položce a kontrolovat na shodu s první položkou druhého polygonu. Teprve při shodě pokračuješ porovnáváním dalších prvků.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #16
-
0
-

#15 Kit
Protože do hlavičky metody pořád strkám tentýž polygon. Leda zařídit, aby strkal do metody polygon, ten co byl už posunutý a znova o posunout o jeden.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #17
-
0
-

#16 Siggi
Proč ale posouváš a převracíš celý polygon, když můžeš posouvat a převracet lupu, kterou se díváš na jednotlivé vrcholy polygonu?

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #18
-
0
-

#17 Kit
Jakto myslíš lupu?

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #19
-
0
-

#18 Siggi
Myslím tím metodu, která se virtuálně dívá na 1., 2., 3. ... vrchol druhého polygonu, ale ve skutečnosti se dívá na 5., 4. a 3. vrchol, tedy pootočený invertovaný polygon.

Můžeš tak vesele porovnávat polygony, aniž bys s nimi pohnul.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #20
-
0
-

#19 Kit
O tom nic nevím a nějak mě nenapadá jakto realizovat. 

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #21
-
0
-

#20 Siggi
Když chceš vidět svět obráceně, nemusíš se stavět na hlavu nebo otáčet celým světem. Stačí, když vodorovně podržíš zrcadlo.

Řekněme, že máš 6 vrcholů polygonu. Chceš vidět vrchol s indexem[0], zeptáš se té metody. Ta ovšem bude vědět, že má přičíst 3 a poskytne ti souřadnice vrcholu s indexem[3]. Místo polygon[2] zase polygon[5]. Místo polygon[3] ti předá polygon[0] ((index + 3) % polygon.length).

Výsledek je stejný, jako kdybys první polygon porovnával s druhým polygonem pootočeným o 3.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #22
-
0
-

#21 Kit
Mno, já to udělal podle sebe ve vzoru Cčka, ikdyž bude Java nadávat, hlavní jde o úspěšnost. Mám, ale problém. 

Když dám: if(new ArrayPolygon(vert1).equals(invert(pol))) nebo if(new ArrayPolygon(vert1) == (invert(pol))), oboje se vždy vyhodnotí na false a když jsem si to vyjel pomocí println, tak mi to píše, že jsou stejné.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #23
-
0
-

#22 Siggi
Co třeba tohle? 

public boolean compare(ArrayPolygon pol, int offset) {
    int vertices = getNumVertices();
    for (int i = 0; i < vertices; i++) {
        if (! getVertex(i).equals(pol.getVertex((i + offset) % vertices))) {
            return false;
        }
    }
    return true;
}

Hodnoty offset budeš mít v rozsahu 0 .. vertices-1 a tím se ti druhý vektor virtuálně pootočí o hodnotu offset. Podobně uděláš i invertovaný polygon, aniž bys ho převracel.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #24
-
0
-

#23 Kit 

 Class demo       
Vertex2D[] vert1 = {
            new Vertex2D(-100,-100),
            new Vertex2D( -40,  10),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40)
        };   
        
        Vertex2D[] vert3 = {
            new Vertex2D( -40,  10),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40),
            new Vertex2D(-100,-100)
        };  
        
        if(!new ArrayPolygon(vert1).compare(new ArrayPolygon(vert3))) {
            System.out.println("Chyba implementace compare()");
        } else {
            System.out.println("SKVELE, jednu cast mame.");
        }

Class polygon
        int offset = 4;
        int vertices = getNumVertices();
        for(int i = 0; i < vertices; i++) {
            if(!getVertex(i).equals(pol.getVertex((i + offset) % vertices))) {
                return false;
            }
        }
        return true;

//Vratí chyba implementace
Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #25
-
0
-

#24 Siggi
Tu moji metodu jsi použil úplně špatně. Nečekal jsem, že ji použiješ staticky a už vůbec jsem nepočítal s tím, že jí ustřihneš záhlaví a vlepíš do svého kódu.

Ten kus začínající if(!new ArrayPolygon... tam nemá co pohledávat. Objekt nemůžeš testovat na booleovskou hodnotu. Není to proměnná typu boolean, ale objekt.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #26
-
0
-

#25 Kit
Takhle to ale mám před implementované. Já to nemohu měnit.

BTW: Když postuji kód, postuji jen to důležité a ono to pak vypadá, že to je jeden kód, ale já tam házím jen to důležité i z ruzných tříd.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #27
-
0
-

#26 Siggi
Víš, takové zběsilosti jako 

if(!new ArrayPolygon(vert1).compare(new ArrayPolygon(vert3))) ...

zásadně nedělám, protože je to obtížně čitelné. Raději to rozepíši na více řádek: 

ArrayPolygon pol1 = new ArrayPolygon(vert1);
ArrayPolygon pol3 = new ArrayPolygon(vert3);
if (!pol1.compare(pol3)) ...

což by mělo dělat zhruba totéž, ale mnohem čitelněji. Navíc ti zůstanou v platnosti objekty pol1 a pol3, které dál budeš potřebovat.

Ten kód, který jsem ti napsal, není třída, ale metoda, které patří dovnit třídy ArrayPolygon. Takhle to máš přece předimplementováno.

Metoda compare(pol, offset) je přetížená. Budeš ji volat v cyklu z metody compare(pol). To ti musím napsat i metodu compare(pol) nebo si ji napíšeš sám?

Nezapomeň si ještě podle metody compare(pol, offset) napsat metodu compareInvert(pol, offset). Obě by měly být privátní, obě budou volány z metody compare(pol).

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #28
-
0
-

#27 Kit
Tam šlo o zkoušku, co jsem postoval výše, jestli vůbec předlepená funkce funguje, já tam neřeším cykly atd.., ale přímo jestli vytvořím dva identické objekty, jestli napíše false nebo true. 

public boolean compare(ArrayPolygon pol) {
        Vertex2D[] vert1 = {
            new Vertex2D(-100,-100),
            new Vertex2D( -40,  10),
            new Vertex2D(  50,  20),
            new Vertex2D(  10, -20),
            new Vertex2D(  60, -40)
        };

        int offset = 4;
        int vertices = getNumVertices();
        for(int i = 0; i < vertices; i++) {
            if(!vert1[i].equals(pol.getVertex((i + offset) % vertices))) {
                return false;
            }
        }
        return true;

    }
// a takhle to vypisuje false, ikdyž má být true

Já ji nemám jako třídu.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #29
-
0
-

#28 Siggi
Proč tam máš offset = 4? Ten musíš iterovat vně této metody.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Siggi0
Návštěvník
13. 11. 2015   #30
-
0
-

#29 Kit
Tak ikdyž dám nahrubo (i + 4), tak stále false.

Já jinak mám naimplemetované invert, posun, invert + posun atd.., ale to porovnavání mi nejde.

Nahlásit jako SPAM
IP: 46.229.123.–
Kit+15
Guru
13. 11. 2015   #31
-
0
-

#30 Siggi
Otázka zní: Implementoval jsi metodu Vertex2D.equals()? Asi ne, protože je to standardní třída, která ji implementovánu nemá. Proto dědí metodu Object.equals().

Zkus si porovnat tohle: 

Vertex2D vert1 = new Vertex2D(2, 3);
Vertex2D vert2 = new Vertex2D(2, 3);
System.out.println(vert1.equals(vert2) ? "Rovnají se" : "Nerovnají se");
Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Řešení
Siggi0
Návštěvník
18. 11. 2015   #32
-
+1
-
Zajímavé
Kit +
Vyřešeno Nejlepší odpověď

Tak mám to hotové a funkční.
Už je i po termínu, tak mohu vložit výsledek.

     private static final double EPSILON = 0.001;    

    /**
     * Invert vertices of polygon
     *
     * @param pol polygon
     * @param moved polygon
     * @return boolean if original polygon and given polygon are same
     */
    public boolean invert(ArrayPolygon pol, int moved) {
        for (int i = 0; i < getNumVertices(); i++) {
            if (!((this.getVertex(i).getX() - pol.getVertex(getNumVertices() - 1 - i + moved).getX()) < EPSILON
                    && (this.getVertex(i).getY() - pol.getVertex(getNumVertices() - 1 - i + moved).getY()) < EPSILON)) {
                    return false;
            }
        }
        return true;
    }
    
    /**
     * Moved vertices of polygon about value moved
     *
     * @param pol polygon
     * @param moved polygon
     * @return boolean if original polygon and given polygon are same
     */
    public boolean move(ArrayPolygon pol, int moved) {
        for (int i = 0; i < getNumVertices(); i++) {
            if (!((this.getVertex(i).getX() - pol.getVertex(i + moved).getX()) < EPSILON
                    && (this.getVertex(i).getY() - pol.getVertex(i + moved).getY()) < EPSILON)) {
                if(invert(pol, moved)) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        return true;
    }
    
    /**
     * Compare if original polygon is same as given polygon
     *
     * @param pol given polygon
     * @return true if they're same or false
     */
    public boolean compare(ArrayPolygon pol) {
        for(int k = 0; k < getNumVertices(); k++){      // k = moved
            if(move(pol, k)) {
                return true;
            }
        }
        return false;
    }
Nahlásit jako SPAM
IP: 147.251.212.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

Výpis souřadnic do souboru — založil Trollin

Hodnoty souradnic krivky — založil Artemij

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý