[js/html] programmeeruitdaging: perfect squares

Pagina: 1
Acties:
  • 282 views sinds 30-01-2008
  • Reageer

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Het lijkt erop dat het weinig mensen interesseert dat de hedendaagse browsers ingewikkelde tabellen (veel colspans en rowspans) gewoon nog steeds niet goed kunnen renderen hoewel de html syntactisch gewoon klopt, getuige het weinige animo op mijn eerdere topic.

Nu denken veel mensen: wat kan er nou moeilijk zijn aan een tabel? Welnu, ik zocht gewoon naar een manier om zogenaamde "perfect square dissections" in een tabel te laten zien.
Hier is een link waar uitgelegd wordt wat een perfect square dissection precies is: het komt erop neer dat er vierkanten bestaan die opgedeeld kunnen worden in vierkanten van verschillende groottes.

Enfin, ik heb een workaround gevonden waarmee ik de tabellen in alle moderne browsers (NS6, IE5+, Mozilla en Opera-hoewel traag) goed kan weergeven: de truuk is om om de tabel een rand te leggen van cellen zonder col- of rowspans.

Wat is dan de programmeeruitdaging? (die ik overigens zelf al met success aangegaan ben).
Een dissected square kan op de volgende manier genoteerd worden:
code:
1
2
3
4
5
(6, 4, 5)
(3, 1)
(6)
(5, 1)
(4)

Bovenstaand voorbeeld is geen "perfect square" omdat het vierkanten bevat van gelijke grootte, maar dat maakt voor het voorbeeld niet uit.
Grafisch ziet dit er zo uit:

Afbeeldingslocatie: http://www.crisp.demon.nl/pictures/moz.gif

Oftewel van links naar rechts en boven naar onderen zien we vierkanten van 6x6, 4x4, 5x5; 3x3, 1x1; 6x6; 5x5, 1x1; en 4x4.

In tabelvorm vertaald zou dat grofweg zo zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<table border=1 cellspacing=0 cellpadding=0>
  <tr>
    <td colspan=2 rowspan=3 height=240 width=240 align="center">1</td>
    <td colspan=2 rowspan=1 height=160 width=160 align="center">2</td>
    <td colspan=1 rowspan=2 height=200 width=200 align="center">3</td>
  </tr>
  <tr>
    <td colspan=1 rowspan=3 height=120 width=120 align="center">4</td>
    <td colspan=1 rowspan=1 height=40 width=40 align="center">5</td>
  </tr>
  <tr>
    <td colspan=2 rowspan=3 height=240 width=240 align="center">6</td>
  </tr>
  <tr>
    <td colspan=1 rowspan=2 height=200 width=200 align="center">7</td>
    <td colspan=1 rowspan=1 height=40 width=40 align="center">8</td>
  </tr>
  <tr>
    <td colspan=2 rowspan=1 height=160 width=160 align="center">9</td>
  </tr>
</table>

waarbij ik de heights en de widths maal 40 heb gedaan om een mooie grote tabel te krijgen.
IE vind deze tabel niet zo fijn, want hij rendert hem verkeerd zonder truuken. Bij meer ingewikkelde tabellen laten Mozilla, NS en Opera het trouwens ook afweten.

Kom ik bij de uitdaging die ik voor mezelf ben aangegaan: een javascript schrijven dat vanuit de bovengenoemde notatie (je kan het namelijk eenvoudig inpassen in een 2-dimensionele array) de tabel rendert.
Daarbij heb ik dus wat truukjes ingebakken zodat het in de browser ook klopt.

Een voorbeeld van zo'n tabel kan je hier vinden; dit is een "unique simple perfect square of order 23" - de kleinste is trouwens van order 21.

Wat ik graag zou willen weten is of mijn uitwerking van dit "probleem" tevens de meest efficiente is; oftewel van notatie naar tabelvorm. Ik vond het in elk geval zelf een leuke uitdaging (een beetje in de orde van de recente programmeerwedstrijd in /14).
Voordat ik dus de code (die imho meer toepassingsmogelijkheden biedt, en waar de heren browserbouwers misschien ook nog iets van kunnen leren :P ) ga publiceren zou ik de geinterresseerden willen vragen ook eens hun hersens te laten kraken en met een mooi stukje code te komen :)

Sorry voor het lange verhaal; ik vond het in elk geval de moeite waard. Ik hoop dat er hier meer rondlopen die het ook zien als een uitdaging, zoniet dan vraag ik vriendelijk dit topic te moven naar /14 waar misschien wel meer geinterresseerden rondlopen (het is namelijk niet gezegt dat het met javascript opgelost moet worden).

Veel plezier!

Intentionally left blank


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

zow, deez laat ik ff voorbij gaan, kweet ineens weer waarom ik voor wiskunde een 4 had :{

www.jurgroessen.nl


Verwijderd

je html tabel klopt niet (Afbeeldingslocatie: http://www.drububu.com/moz.gif). je gebruikt rows en cols verkeerd... er ontbreken een aantal rows en cols (rode lijntjes) die je overigens voor dit probleem niet wilt hebben. ligt gewoon aan je html-kwaliteiten; heeft niets met browsers te maken. kijk even op http://www.drububu.com/htmlimage voor een enkele uiterst complexe tabel die prima weergegeven word.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 22:15 schreef drububu het volgende:
je html tabel klopt niet (...). je gebruikt rows en cols verkeerd... er ontbreken een aantal rows en cols (rode lijntjes) die je overigens voor dit probleem niet wilt hebben. ligt gewoon aan je html-kwaliteiten; heeft niets met browsers te maken. kijk even op http://www.drububu.com/htmlimage voor een enkele uiterst complexe tabel die prima weergegeven word.
Dan ligt hier voor jou de uitdaging om de code van de "correcte" tabel te posten. Ik ben namelijk nog steeds van mening dat de code voor deze tabel (zoals hierboven gepost) nog steeds correct is. Het plaatje is trouwens een (verkleinde) screenshot uit Mozilla van de bewuste code (met een grid als background).

Intentionally left blank


Verwijderd

je html klopt echt niet. neem de eerste kolom...
<td colspan=2 rowspan=3 height=240 width=240... je hebt
hier een rowspan van 3 kijk dan eens naar rechts en tel de rows... dat zijn er niet 3 maar 2,2 oid. wat dus niet werkt. dit geld ook voor een aantal andere td's. hierdoor wordt de tabel dus niet juist weergegeven. je kan volgens mij het beste met een achtergrond kleur werken om je idee duidelijk te maken ipv. cells. als je achtergrond kleuren gebruikt kan je een tabel zoals ik voorstelde gebruiken die prima weergegeven word.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Ik heb even de moeite genomen om alle lijnen door te trekken zodat de grid van de tabel duidelijk wordt:

Afbeeldingslocatie: http://www.crisp.demon.nl/pictures/moz2.gif

Vergelijk het nu nog eens met de code zoals hierboven gepost...

I rest my case

[edit]
of toch niet??? Ik heb dus toch even geprobeert om de row en col om te wisselen - nu staat mijn wereld dus op z'n kop want nu doet IE het in ene wel goed :?

even logisch nadenken:
code:
1
2
3
4
5
6
7
8
9
        kolom   kolom
        |    |
       _______________
      |  |   |
rij --> |    |   |
      |_______|_______|
      |  |   |
rij --> |    |   |
      |_______|_______|

of ben ik nou gek?
[/code]

Intentionally left blank


  • Heintjo
  • Registratie: Maart 2000
  • Laatst online: 11-05-2025

Heintjo

Definitely not Swedish

Ten eerste: de code klopt als een huis.
Ten tweede: je neemt een ding aan, en dat klopt niet:

- Browsers kunnen NIETS zelf, je moet ze alles voorkauwen.
In je voorbeeld, ga je er vanuit dat de 3e TR "zelf wel" bedenkt hoe hoog ie moet zijn, maar in je html-voorbeeld staat nergens dattie 40 pixels hoog moet zijn. De browser weet dus niet hoe hoog je'm hebben wilt, en verzint maar wat geks.

De oplossing is het creeren van een extra TR bovenop, en een extra TD links.

Dit is wel een kloppende variant, met mijn zogenoemde extra tr/td boven/links:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<table border=1 cellspacing=0 cellpadding=0>
  <tr>
    <td width=1 height=1>.</td>
    <td width=200 align="center">.</td>
    <td width=40 align="center">.</td>
    <td width=120 align="center">.</td>
    <td width=40 align="center">.</td>
    <td width=200 align="center">.</td>
  </tr>
  <tr>
    <td width=1 height=160>.</td>
    <td colspan=2 rowspan=3 width=240 height=240 align="center">1</td>
    <td colspan=2 width=160 height=160 align="center">2</td>
    <td rowspan=2 width=200 height=200 align="center">3</td>
  </tr>
  <tr>
    <td width=1 height=40>.</td>
    <td rowspan=3 width=120 height=120 align="center">4</td>
    <td width=40 height=40 align="center">5</td>
  </tr>
  <tr>
    <td width=1 height=40>.</td>
    <td colspan=2 rowspan=3 width=240 height=240 align="center">6</td>
  </tr>
  <tr>
    <td width=1 height=40>.</td>
    <td rowspan=2 width=200 height=200 align="center">7</td>
    <td width=40 height=40 align="center">8</td>
  </tr>
  <tr>
    <td width=1 height=160>.</td>
    <td colspan=2 width=160 height=160 align="center">9</td>
  </tr>
</table>

Probleem opgelost? :)

edit:
damn, wel m'n table </afsluiten> :)

blah blah...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 23:00 schreef Heintjo een zinnig antwoord:
...
Thanks, ik ben ook nog steeds overtuigd van het feit dat mijn code klopt (dat MS besluit kolommen te verwarren met rijen ala - doen ze met het .dif formaat ook) - zie trouwens mijn edit in voorgaande bericht.

Echter weet ik (sinds ik de programmeer uitdaging ben uitgegaan) ook een beetje hoe browsers met tabellen omgaan; om een tabel precies te kunnen renderen moet je namelijk twee keer door de code heen. Dat kost tijd, en dus doen de meeste browsers na de 1e keer de code te hebben doorlopen een 'educated guess'. Dit pakt dus echter niet altijd even goed uit.

Als je het voorbeeld van de 23e orde "perfect square" hebt bekeken had je kunnen zien dat ik wel weet hoe ik de browser een "handje kan helpen", en dus de tabel goed kan laten weergeven.

In elk geval bedankt voor je input. Maar wat er eventueel ook verkeerd is aan de html, de probleemstelling en dus de programmeer-uitdaging blijft hetzelfde: het creeeren van de tabel vanuit de verkorte notatiewijze! :)

Intentionally left blank


Verwijderd

code klopt absoluut niet... er ontbreken cells en rows!
nog een variant (zelf even de maten bedenken):

<table cellspacing=0 cellpadding=0 border=1 width="30%" height="30%">

<tr valign=top>
<td align=left colspan=2 rowspan=2 bgcolor="FF0000">0</td>
<td align=left bgcolor="AA0000">1</td>
<td align=left bgcolor="AA0000">2</td>
<td align=left rowspan=2 bgcolor="770000">3</td>
</tr>

<tr valign=top>
<td align=left rowspan=3>4</td>
<td align=left bgcolor="330000">5</td>
</tr>

<tr valign=top>
<td align=left colspan=2 bgcolor="FF0000">6</td>
<td align=left colspan=2 bgcolor="FF0000">7</td>
</tr>

<tr valign=top>
<td align=left rowspan=2 bgcolor="AA0000">8</td>
<td align=left bgcolor="330000">9</td>
<td align=left colspan=2 rowspan=2 bgcolor="FF0000">10</td>
</tr>


<tr valign=top>
<td align=left bgcolor="770000">11</td>
<td align=left bgcolor="770000">12</td>
</tr>


</table>

Verwijderd

Op donderdag 14 februari 2002 22:49 schreef drububu het volgende:
je html klopt echt niet. neem de eerste kolom...
<td colspan=2 rowspan=3 height=240 width=240... je hebt
hier een rowspan van 3 kijk dan eens naar rechts en tel de rows... dat zijn er niet 3 maar 2,2 oid. wat dus niet werkt. dit geld ook voor een aantal andere td's. hierdoor wordt de tabel dus niet juist weergegeven. je kan volgens mij het beste met een achtergrond kleur werken om je idee duidelijk te maken ipv. cells. als je achtergrond kleuren gebruikt kan je een tabel zoals ik voorstelde gebruiken die prima weergegeven word.
correct, ik heb zijn kwestie ook bekeken, maar zie er niets in wat niet al bekend is. zijn kwestie is simpel op te lossen door de html adekwaat toe te passen en juiste techniek in acht te nemen.
Als topic poster de te gebruiken techniek niet onder de knie heeft, lijkt het me geen algemene kwestie. Ik had het niveau van dit forum toch enigszins hoger ingeschat. jammer.

overigens,
toffe site!!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 22:49 schreef drububu het volgende:
je html klopt echt niet. neem de eerste kolom...
<td colspan=2 rowspan=3 height=240 width=240... je hebt
hier een rowspan van 3 kijk dan eens naar rechts en tel de rows... dat zijn er niet 3 ...
Ik neem de eerste rij; ik kijk naar rechts en tel de kolommen... dat zijn er twee, dus colspan=2.
ik kijk naar onderen en tel de rijen... dat zijn er drie, dus rowspan=3. etc...

edit:

http://html.op-het.net/tekst/tabellen.html is dan zeker ook verkeerd?

Intentionally left blank


Verwijderd

Afbeeldingslocatie: http://www.drububu.com/moz1.gif je hebt in de eerste tabel (1) een rowspan van 3... okay zie afbeelding... ik tel rechts (rode cijfertjes) 1, 2 en nog een klein beetje rows (vanuit 1 bekeken)! door het ontbreken van een volledige row in de tabel wordt jouw tabel niet goed weergeven. elke html validator zal zeggen dat er niets mis is met je html maar het probleem zit meer in hoe een tabel fundamenteel gedefinieerd dient te worden

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 23:21 schreef prod het volgende:

[..]

correct, ik heb zijn kwestie ook bekeken, maar zie er niets in wat niet al bekend is. zijn kwestie is simpel op te lossen door de html adekwaat toe te passen en juiste techniek in acht te nemen.
Als topic poster de te gebruiken techniek niet onder de knie heeft, lijkt het me geen algemene kwestie. Ik had het niveau van dit forum toch enigszins hoger ingeschat. jammer.

overigens,
[..]

toffe site!!
Dit riekt naar een flame (op mijn persoon notabene) :o
Ik denk dat ik hier toch een gevoelige snaar heb geraakt bij die en gene. Ik kan je echter verzekeren (hoewel ik nog geen bijval heb gehad) dat er met mijn html- en programmeurscapaciteiten niks mis is.

We praten hier over redelijk eenvoudige tabellen, met rijen (rows) en kolommen (colomns); waarbij de rijen in verticale
richting gedefinieerd worden, en de kolommen in horizontale richting (en ga nou niet zeggen dat dat niet zo is, want dan wordt ik gek ;) ).

Micosoft heeft er een handje van om de definitie voor rijen en kolommen om te draaien; ik heb dat aan de hand gehad met het omzetten van een AS/400 bestand naar het DIF formaat (wat dus een standaard is). Als het ingelezen moest worden met MS Excel, dan moest ik de kolom en rij definities omdraaien, anders snapte Excel het niet. Echter snapte Lotus 1-2-3 het dan weer niet, want die verwachtte de rij en kolom definities WEL volgens de standaard.
Kortom: MS bakt er een zooitje van en wij zeggen met z'n allen maar ja en amen zonder na te denken hoe het ECHT moet...

Intentionally left blank


Verwijderd

Op donderdag 14 februari 2002 23:35 schreef drububu het volgende:
[afbeelding] je hebt in de eerst tabel een rowspan van 3... okay zie afbeelding... ik tel rechts (rode cijfertjes) 1, 2 en nog een klein beetje rows! door het ontbreken van volledige row in de tabel wordt jouw tabel niet goed weergeven. elke html validator zal zeggen dat er niets mis is met je html maar het probleem zit meer in hoe een tabel fundamenteel gedefinieerd dient te worden
wederom correct, dit is een bekend 'tabel' probleem die, zoals ik al eerder postte, te voorkomen is door de html en de daarbij komende technieken, en de inzicht (!), goed wordt toegepast.
Ik heb ondervonden dat menig html-amateur in deze 'tabel'valkuil is gevallen, wat zeer spijtig is.

Verwijderd

ik twijfel niet aan je html- en programmeurscapaciteiten alleen zit je fundamenteel op het verkeerde (denk)spoor als je een browser verwijt dat ie een verkeerde ge'html'de tabel niet goed laat zien!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 23:35 schreef drububu het volgende:
je hebt in de eerste tabel (1) een rowspan van 3... okay zie afbeelding... ik tel rechts (rode cijfertjes) 1, 2 en nog een klein beetje rows (vanuit 1 bekeken)! door het ontbreken van een volledige row in de tabel wordt jouw tabel niet goed weergeven. elke html validator zal zeggen dat er niets mis is met je html maar het probleem zit meer in hoe een tabel fundamenteel gedefinieerd dient te worden
OK, you're with me so far. Ik heb net al uitgelegt dat ik wel begrijp waarom een browser het niet goed rendert; de definitie van die row ontbreekt inderdaad omdat het allemaal overlappingen zijn. Om toch de goede hoogte te kunnen berekenen is een tweede vertaalslag nodig (de tabel klopt immers) - dat doen veel browsers niet, en dus krijg je een misvormde tabel.
Dat was echter niet de issue van mijn post; het ging om de programmeer-uitdaging om van een verkorte tabelnotatie naar een tabel te komen...

Intentionally left blank


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op donderdag 14 februari 2002 23:21 schreef prod het volgende:
Als topic poster de te gebruiken techniek niet onder de knie heeft, lijkt het me geen algemene kwestie. Ik had het niveau van dit forum toch enigszins hoger ingeschat. jammer.
wat?!? wtf.
jij blaast hoog van de toren :o

als er 1 is die het niveau van /13 omhoog stuwt is het crisp wel, i can assure you!

Ik denk dat je nog iets te kort hier rondloopt om nu al met stront te gaan smijten...

www.jurgroessen.nl


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op donderdag 14 februari 2002 23:46 schreef prod het volgende:

[..]

wederom correct, dit is een bekend 'tabel' probleem die, zoals ik al eerder postte, te voorkomen is door de html en de daarbij komende technieken, en de inzicht (!), goed wordt toegepast.
Ik heb ondervonden dat menig html-amateur in deze 'tabel'valkuil is gevallen, wat zeer spijtig is.
Dit is geen 'tabel' probleem, maar een browser probleem. En als je mijn eerste post goed hebt gelezen en ook het voorbeeld van de 23e orde "perfect square" hebt bekeken had je kunnen weten dat ik ook weet hoe ik er mee om moet gaan. Het doet me daarom zeer dat je me een "html-amateur" durft te noemen...
Ik heb dus in mijn programmeer-uitdaging in feite al een soort oplossing voor dit hele probleem ingebouwd; je moet gewoon 2x door de code voordat je een tabel compleet kunt renderen; de meeste browsers nemen die moeite echter niet, en dus klopt de uitkomst bij meer ingewikkeldere tabellen vaak niet (tenzij je ze een handje helpt door toch in elke rij en in elke kolom op z'n minst een cel op te nemen die geen rowspans of colspans heeft).

Intentionally left blank


  • Devilfish
  • Registratie: Augustus 2001
  • Laatst online: 20-08 16:32
je kunt toch mooi met layers werken? dan krijg iig mooie vierkantjes..

of was dat nou net niet de bedoeling

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 19-08 21:19

Pelle

🚴‍♂️

Hmm interessant. Ik heb zonder te kijken naar jouw source, zelf ook een tabel geklopt, en ik kwam op precies hetzelfde uit als jij.

Ik denk inderdaad dat het aan de manier waarop een tabel wordt opgebouwd ligt. Ik ben even gaan proberen om het voor elkaar te krijgen met een tabel van 6+4+5 bij 6+5 pixels, en daar cell- en colspan in aan te brengen.

Daarvoor was het wel nodig om een extra rij en kolom te definieren waar geen col- en rowspan in optreed. In totaal dus 16 kolommen en 12 rijen.

Resultaat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<html>
<head>
    <title>ja ja</title>
    <style>
      .melp {
        border-left: 1px solid #000000;
        border-top: 1px solid #000000;
      }
      td {
        border-right: 1px solid #000000;
        border-bottom: 1px solid #000000;
        font-size: 1px;
      }
      .doed {
        width: 10px;
        height: 10px;
      }
    </style>
</head>
<body>
<table border=0 cellspacing=0 cellpadding=0 class=melp>
    <tr>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
      <td colspan=6 rowspan=6 class=doed>&nbsp;</td>
      <td colspan=4 rowspan=4 class=doed>&nbsp;</td>
      <td colspan=5 rowspan=5 class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
      <td colspan=3 rowspan=3 class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
      <td colspan=6 rowspan=6 class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
      <td colspan=5 rowspan=5 class=doed>&nbsp;</td>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
      <td colspan=4 rowspan=4 class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
    <tr>
      <td class=doed>&nbsp;</td>
    </tr>
</table>
</body>
</html>

En zo doet hij het wel zoals zou moeten (logisch overigens).

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op vrijdag 15 februari 2002 00:09 schreef Devilfish het volgende:
je kunt toch mooi met layers werken? dan krijg iig mooie vierkantjes..

of was dat nou net niet de bedoeling
Nee, het gaat om een table. Er is echter een hele discussie losgebarsten of mijn code van een table nu wel of niet goed is...

Intentionally left blank


Verwijderd

Op vrijdag 15 februari 2002 00:03 schreef crisp het volgende:

[..]

Dit is geen 'tabel' probleem, maar een browser probleem.
Correct, vandaar de door mij gebruikte quotes.
verder blijf ik bij mijn standpunt.
als er 1 is die het niveau van /13 omhoog stuwt is het crisp wel, i can assure you!
Lijkt me een 'tricky' opmerking na dit topic.

Overigens is het feit dat een dergelijke kwestie wordt aangehaald zeer positief, daar beginnende html-ers hier hun voordeel uit kunnen halen.

Verwijderd

Op vrijdag 15 februari 2002 00:10 schreef Pelle het volgende:
Hmm interessant.
een zeer 'slordige' oplossing. Een schone oplossing is zeker mogelijk.
Eigenlijk droeg topicposter al een schone en simpele oplossing voor de kwestie aan in 1 van zijn latere posts, hoewel ik denk dat topicposter dit niet als 'oplossing' ziet, daar hij dit gegeven niet als oplossing gebruikt, maar als argument.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 19-08 21:19

Pelle

🚴‍♂️

Op donderdag 14 februari 2002 23:46 schreef prod het volgende:
wederom correct, dit is een bekend 'tabel' probleem die, zoals ik al eerder postte, te voorkomen is door de html en de daarbij komende technieken, en de inzicht (!), goed wordt toegepast.
Euhrm, ik ken je verder niet, maar je hebt vandaag al menig W&G'er tegen je in het harnas gejaagd door ongenuanceerde uitspraken te doen zonder zelf bewezen te hebben wat je skills zijn.
Misschien wel onbewust, dat weet ik niet, maar het lijkt me verstandig om iets meer op te passen met wat je tegen wie zegt, en bijvoorbeeld eens met een zinnige oplossing te komen.

Als ik morgen wat helderder ben, zal ik me eens gaan wagen aan de oplossing van het probleem; straks lekker schaatsen kijken 8-)

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op vrijdag 15 februari 2002 00:11 schreef prod het volgende:

Lijkt me een 'tricky' opmerking na dit topic.
mwoa, hij kan het inderdaad nooit meer zover omhoog krijgen als dat jij het nu naar beneden brengt :P

brengt mij ook op het punt wanneer _jij_ je code eens showt.
Hoe het dus volgens een prof hoort... kunnen we wat van leren ;)

www.jurgroessen.nl


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 19-08 21:19

Pelle

🚴‍♂️

Op vrijdag 15 februari 2002 00:14 schreef prod het volgende:
een zeer 'slordige' oplossing. Een schone oplossing is zeker mogelijk.
Eigenlijk droeg topicposter al een schone en simpele oplossing voor de kwestie aan in 1 van zijn latere posts, hoewel ik denk dat topicposter dit niet als 'oplossing' ziet, daar hij dit gegeven niet als oplossing gebruikt, maar als argument.
Euhm, ik kom hier met m'n slechte rug helemaal uit m'n ivoren toren geklauterd om dit te vertellen, dus knoop het in je oren want ik doe het niet nog een keer.

Er zijn hier een paar mensen die proberen een structurele oplossing te vinden en het probleem proberen te doorgronden. Ik ben daarom helemaal bij de basics begonnen en heb de tabel groter gemaakt om eens te kijken of er misschien een inzicht rijst in het hoe en waarom van het onverwachte afwijkende gedrag van een browser.

Dan kun jij dat wel 'slordig' noemen, maar ik zie jou hier geen nuttige of opbouwende bijdrage leveren hier, dus het lijkt me verstandig om daar eerst eens over na te denken voordat je met termen als 'slordig' en 'html-amateur' begint te gooien.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op vrijdag 15 februari 2002 00:11 schreef prod het volgende:

[..]

Correct, vandaar de door mij gebruikte quotes.
verder blijf ik bij mijn standpunt.
[..]

Lijkt me een 'tricky' opmerking na dit topic.

Overigens is het feit dat een dergelijke kwestie wordt aangehaald zeer positief, daar beginnende html-ers hier hun voordeel uit kunnen halen.
OK, you're also with me on this (excuse my English)

Fijn dat je een standpunt hebt (heb ik dus ook).

Waarom is Hangloozz's opmerking 'tricky'?? :?

Het feit dat ik hier nu pas tegen aan loop is omdat ik nu eens een iets ingewikkeldere tabel nodig had; dat is niet iets waar je normaal gesproken behoefte aan hebt.
Deze 'kwestie' is echter ook niet echt bekent - in het afgelopen jaar dat ik nu rondloop in W&G is het nooit aan de orde geweest, en je zou toch verwachten dat de "browser-boeren" hier aandacht aan zouden besteden als het bekent zou zijn. Ook kan ik hier verder op internet weinig over vinden....

Ik hoop iig dat jij hier voordeel uit kan halen ;)

edit:

nog steeds geen reacties over de programmeer-uitdaging :'(

Intentionally left blank


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

* oh,when? vind het een beetje vaag...

je aanname is volgens mij verkeerd, aangezien je uitgaat dat de browser het perfecte eikpunt is. Maar dat kan deze nooit zijn, of we moeten nu met zijn allen besluiten dat Mozilla latest build de goede is.

:)

"You're only as good, as what you did last week."


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op vrijdag 15 februari 2002 00:53 schreef oh,when? het volgende:
* oh,when? vind het een beetje vaag...

je aanname is volgens mij verkeerd, aangezien je uitgaat dat de browser het perfecte eikpunt is. Maar dat kan deze nooit zijn, of we moeten nu met zijn allen besluiten dat Mozilla latest build de goede is.

:)
Het is niet vaag; in mijn eerste post concludeerde ik al dat (bijna) alle browsers moeite hebben met dit soort tabellen, maar dat ik er een work-around voor heb. Het gaat dus geenszins om browsers, maar om hoe je vanuit deze notatie:
code:
1
2
3
4
5
(6, 4, 5)
(3, 1)
(6)
(5, 1)
(4)

naar een tabel weet te programmeren (ongeacht de browser en zijn/haar tekortkomingen)

Intentionally left blank


  • Heintjo
  • Registratie: Maart 2000
  • Laatst online: 11-05-2025

Heintjo

Definitely not Swedish

Het hele "klopt de code wel of niet" verhaal mag inderdaad afgesloten worden, daar gaat het ook niet om, is me na 'n tijdje duidelijk geworden.

Mijn "persoonlijke probleem", is dat ik waarschijnlijk te veel en te lang html tabelletjes heb zitten programmeren en dus heb leren leven met de manier waarop het werkt, zonder me af te vragen of het logisch (laat staan handig) is.

Het leuke aan deze topic vind ik persoonlijk dat 't een ander perspectief geeft aan hoe we met tabellen werken, als je de notatie + uitleg van crisp goed leest.. zie en begrijp je ook precies het probleem. Bovendien is 't een grappig detail dat browsers het allemaal op hun eigen wijze oplossen, zo dus ook de verklaring dat ie een "td" niet kan definieren omdat ie niet nadenkt.

Ik ga hier zeker nog goed over nadenken, en wil (mits mijn tijd een beetje mee wil werken) best een poging doen om hier 'n leuke oplossing voor te bedenken..

Maar, crisp: je doet een beetje vaag over "dat je de uitdaging met suc6 bent aangegaan." Dat betekent dus dat je de oplossing al hebt liggen? De tool maken, en de quest om de oplossing vind ik altijd leuk.. doch ben ik een van die personen die altijd oplossingen maakt aan de hand van problemen. Ennuh, ik zie persoonlijk niet echt een nut, danwel een functie voor een tool die dit kan oplossen.

Heb je voorbeelden van toepassingen?

blah blah...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Ik heb de oplossing inderdaad al liggen. De reden dat ik er aan begonnen ben is dat ik dus op geautomatiseerde wijze tabellen wou maken in de vorm van "perfecte vierkanten". Of dat nuttig is laat ik in het midden; ik vond het leuk, dus was het voor mij nuttig en tevens leerzaam.
Een toepassingsmogelijkheid die ik zie is deze: elke willekeurige layout is uiteindelijk op te delen in blokken (niet perse vierkanten; rechthoeken mag ook). Deze blokken kan je dus redelijk eenvoudig vanaf papier noteren in de genoemde notatievorm (waarbij je eventueel een 2e array maakt voor de hoogtes). Met behulp van de tool die ik dus gemaakt heb rolt daar zo de html code voor een goede tabel uit.
Een beetje wysiwyg html editor zou dat waarschijnlijk ook wel kunnen, maar dan blijft de vraag: wat is de meest efficiente methode om zo'n tabel te maken - ongeacht of een browser het nou aan kan of niet.

Intentionally left blank


Verwijderd

Allemaal leuk en aardig maar dit soort tabellen zul je in de praktijk niet echt tegenkomen. Een enkele rowspan of colspan daargelaten, maar met de problemen die jij nu naar voren schuift, heb ik nog nooit problemen gehad.
Waarschijnlijk omdat het een omslachtige manier is in opbouw.

Verwijderd

Op vrijdag 15 februari 2002 00:16 schreef pelle het volgende:

maar het lijkt me verstandig om iets meer op te passen met wat je tegen wie zegt
Op donderdag 14 februari 2002 23:45 schreef crisp het volgende:

Ik denk dat ik hier toch een gevoelige snaar heb geraakt bij die en gene.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op vrijdag 15 februari 2002 08:53 schreef Gordijnstok het volgende:
Allemaal leuk en aardig maar dit soort tabellen zul je in de praktijk niet echt tegenkomen. Een enkele rowspan of colspan daargelaten, maar met de problemen die jij nu naar voren schuift, heb ik nog nooit problemen gehad.
Waarschijnlijk omdat het een omslachtige manier is in opbouw.
Ik ben het met je eens dat je dit soort dingen in de praktijk niet nodig zult hebben; een enkele row of colspan en dan houd het meestal wel op. Ik ben er gewoon voor de lol aan begonnen en liep toevallig tegen een aantal beperkingen aan, die ik trouwens voor mijn gevoel netjes op heb kunnen lossen. Dit was dus een bijzaak die ik al eerder in een ander topic had gemeld.
Bleef over de programmeer-uitdaging die ik graag met jullie wou delen. Ook om te kijken of iemand misschien andere iedeeen zou hebben om zo'n soort probleem op te lossen; daar leer ik ook weer van.
Dat dit topic zou ontaarden in een discussie of mijn voorbeeld html nou wel of niet goed was kon ik ook niet weten. De lol is er daardoor wat mij betreft een beetje van af.
Als er toch nog iemand geinteresseerd is om de programmeer-uitdaging aan te gaan hoor ik het wel, en als er interesse is in de manier waarop ik het heb opgelost ook.
Vanavond ga ik maar eens een potje klaverjassen denk ik...

Intentionally left blank


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op vrijdag 15 februari 2002 19:41 schreef crisp het volgende:

Dat dit topic zou ontaarden in een discussie of mijn voorbeeld html nou wel of niet goed was kon ik ook niet weten.
heej kop op.
laat je niet kisten door 2 wannabees die een beetje lopen te stoken in /13.
het sujet prod moet je helemaal vergeten want voorlopig heeft nog niet het tegendeel kunnen bewijzen dat ie ook maar iets van HTML/JS/enz. afweet.
Alleen maar loos geblaat en geflame.

probeer weer de roots van je topic op te pakken en diegene die wél geïntresseerd en challenged zijn te animeren tot het aangaan van je uitdaging.

www.jurgroessen.nl


Verwijderd

Klinkt een beetje als Hangloozz Ratelband ;), maar dan als iemand die wel gelijk heeft

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

:D :P

www.jurgroessen.nl


  • Norjee
  • Registratie: April 2000
  • Niet online
* Norjee gaat nooit meer na 12 uur GOT lezen.....

met het hierboven gegeven voorbeeld...

http://members.tripodnet.nl/neverendingstory/

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 29-05-2025

RRX

@life-

Op zaterdag 16 februari 2002 03:04 schreef Norjee het volgende:
* Norjee gaat nooit meer na 12 uur GOT lezen.....

met het hierboven gegeven voorbeeld...

http://members.tripodnet.nl/neverendingstory/
die kleine vierkantjes, zijn geen perfecte vierkantjes :'( in jouw voorbeeld ;)

mijn T.net systeemspecspagina


Verwijderd

Op vrijdag 15 februari 2002 20:51 schreef Hangloozz het volgende:

[..]

heej kop op.
laat je niet kisten door 2 wannabees die een beetje lopen te stoken in /13.
het sujet prod moet je helemaal vergeten want voorlopig heeft nog niet het tegendeel kunnen bewijzen dat ie ook maar iets van HTML/JS/enz.
Deze uitspraak bevestigd mijn zienswijze welke ik heb uiteengezet in [topic=411464/1/25]

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
prod_1: als je niks zinnigs hebt toe te voegen aan mijn topic heb ik liever dat je hieruit wegblijft.
1 tip: lees dit eens een keertje door, met name het stuk "Dealing with rudeness".
Dit:
More generally, if you write like a semi-literate boob you will very likely be ignored.
vind ik ook wel aardig van toepassing op jou, en dat is dus precies wat ik verder ook ga doen.
NFI offcourse...
Op zaterdag 16 februari 2002 03:04 schreef Norjee het volgende:
* Norjee gaat nooit meer na 12 uur GOT lezen.....

met het hierboven gegeven voorbeeld...

http://members.tripodnet.nl/neverendingstory/
Interesting. Dat het geen perfect vierkant is boeit niet, ik ben geinteresseerd in de oplossing en zal de scriptjes eens even uitpluizen :) Thanx!

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Norjee: mooi script. een iets andere benadering van mijn oplossing maar ik zie toch overeenkomsten. Hierin zie ik ook een probleem waar ik zelf ook tegenaan gelopen ben.
Het eerste wat ik natuurlijk gedaan heb is geprobeerd een lastigere tabel te laten genereren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
tableCode[tableCode.length] = new Array (55, 39, 81)
tableCode[tableCode.length] = new Array (16, 9, 14)
tableCode[tableCode.length] = new Array (4, 5)
tableCode[tableCode.length] = new Array (3, 1)
tableCode[tableCode.length] = new Array (20, undefined)
tableCode[tableCode.length] = new Array (56, 18)
tableCode[tableCode.length] = new Array (38, undefined)
tableCode[tableCode.length] = new Array (30, 51)
tableCode[tableCode.length] = new Array (64, 31, 29)
tableCode[tableCode.length] = new Array (8, 43)
tableCode[tableCode.length] = new Array (2, 35)
tableCode[tableCode.length] = new Array (33, undefined)

Hierop loopt het script vast (wat ik al had verwacht >:) )
Ik vermoed dat het in de functie findMostEmptyRow zit waarmee je een startpositie bepaald (is correct). Echter doe je voor de volgende startpositie enkel een startFill++
In de volgende situaties gaat dat natuurlijk niet op:
code:
1
2
3
4
5
6
7
+------+--------+------+
|   |     | |
|   |     | |
+------+      +------+
|  a   |      |  b   |
|   +--------+  |
+------+      +------+

Je bepaald de startpositie voor cel a, vervolgens een startFill++ om b te plaatsen; dat kan echter niet omdat er al een cell bovenstaat die overlapt in de rij waar je mee bezig bent.

Ook de volgende situatie kan problemen geven:
code:
1
2
3
4
5
6
7
8
9
10
11
+-----------+--------------------+
|        |            |
|        |            |
|        |            |
|        |            |
+-----+-----+             |
|     |     |             |
|  a  |  b  |             |
+-----+-----+             |
        |             |
        +--------------------+

plaatsing van a en b betekent dat je de kolom moet gaan splitsen; als je vantevoren de grid van de tabel niet weet zou je a plaatsen en na startFill++ is er geen mogelijkheid meer om b te plaatsen.

Ik moet de code nog even verder debuggen, maar weet bijna zeker dat het minstens om 1 van de hierboven geschetste gevallen gaat waar het script op stukloopt.

(het begint weer leuk te worden :) )

Intentionally left blank


  • Norjee
  • Registratie: April 2000
  • Niet online
Nope.... de col en rowspans gaan gewoon goed hoor... kijk maar, exact hetzelfde als http://www.crisp.demon.nl/squares/example.html

Dat het brak lijkt komt door niet perfecte rendering van de browser....

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op zaterdag 16 februari 2002 14:31 schreef Norjee het volgende:
Nope.... de col en rowspans gaan gewoon goed hoor... kijk maar, exact hetzelfde als http://www.crisp.demon.nl/squares/example.html

Dat het brak lijkt komt door niet perfecte rendering van de browser....
Hmmz, even kijken of ik dan zelf geen typvoudten heb gemaakt ;)
Andermans logica is echter vaak nogal moeilijk te doorgronden, dus er gaat even wat tijd in zitten om uit te pluizen wat de code voralsnog doet. In elk geval leuk dat je de uitdaging bent aangegaan, ik vond het zelf niet echt simpel.

Intentionally left blank


  • Norjee
  • Registratie: April 2000
  • Niet online
Ik heb ook even jou manier table weergeven gebruikt, nu ziet het er goed uit :)

Het staat nu op:
http://jeroen.concept-q.com/table.html

op http://jeroen.concept-q.com/table_uitleg.txt staat uitleg, kwou het eerst hier posten,
maar misschien dat iemand anders het nog wil proberen, en dan is het leuker zonder een oplossing :)

Verwijderd

interessante topic! ik dacht altijd dat het aan mijn html lag maar
nu blijkt dat er meer mensen zijn met hetzelfde probleem qua
weergave van tabellen. je zou zeggen dat een gemiddelde browser
vandaag de dag toch wel dusdanig ontwikkeld was dat het tabellen
juist weer zou geven!
ik heb gezocht naar andere bronnen die melding maken van dit
probleem maar ik heb het niet kunnen vinden. wellicht is het zinvol
microsoft van deze 'bug' op de hoogte te stellen?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op zaterdag 16 februari 2002 23:56 schreef barry het volgende:
interessante topic! ik dacht altijd dat het aan mijn html lag maar
nu blijkt dat er meer mensen zijn met hetzelfde probleem qua
weergave van tabellen. je zou zeggen dat een gemiddelde browser
vandaag de dag toch wel dusdanig ontwikkeld was dat het tabellen
juist weer zou geven!
ik heb gezocht naar andere bronnen die melding maken van dit
probleem maar ik heb het niet kunnen vinden. wellicht is het zinvol
microsoft van deze 'bug' op de hoogte te stellen?
Ik kan je vertellen dat niet alleen MS last heeft van deze "bug". Het hele probleem zit 'm volgens mij in het feit dat een browser de code maar 1 keer doorgaat en vervolgens (of gelijktijdig) de pagina rendert. Bij dit soort tabellen moet je eigenlijk wel 2 x door de code gaan: 1 x om de "grid" vast te leggen, en vervolgens nog een keer om de content te renderen.
Ik heb MS al op de hoogte gesteld middels een bug-report. Vraag is alleen of ze er ook acht op slaan.
Hetzelfde zou ik echter ook moeten doen bij Mozilla en andere browser-boeren, want met nog ingewikkeldere tabellen doen die browsers het ook niet goed >:)
Op zaterdag 16 februari 2002 20:06 schreef Norjee het volgende:
Ik heb ook even jou manier table weergeven gebruikt, nu ziet het er goed uit :)

Het staat nu op:
http://jeroen.concept-q.com/table.html

op http://jeroen.concept-q.com/table_uitleg.txt staat uitleg, kwou het eerst hier posten,
maar misschien dat iemand anders het nog wil proberen, en dan is het leuker zonder een oplossing :)
Tof! Ik ga er zeker nog even verder induiken. Ik zal morgen mijn eigen code even posten!

Intentionally left blank


Verwijderd

Omdat het altijd handig is om je eigen html-kennis te testen ben ik ook ff begonnen met het perfecte vierkant gedoe bouwen. Eerst kwam ik uit op dezelfde code als die van Crisp. Maar opeens was het duidelijk, Drububu heeft gelijk. *D
In de eerste tr zeg je rowspan="3", kijk nou eens in je code in welke tr die derde td van de rowspan staat...is 't tr 1, 2, 3, 4?? helemaal geen tr dus! :? Dus daarom klopt die niet.
Als je 't nu nog niet snapt! :'(

Verwijderd

ik heb uit goede bron vernomen dat het betoogje van drububu hem na 3 posts een ban opgeleverd heeft...

Verwijderd

Dat meen je niet! :(
Sinds wanneer wordt het geven van goede raad hier afgestraft...eindelijk eens iemand die veel van html afweet en dan wordt ie gebanned, tenminste als wat jij zegt waar is natuurlijk.

mooie zaak! |:(

  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 17-08 13:58

OzBoz

.:.H.:.I.:.P.:.

Op zondag 17 februari 2002 19:00 schreef Ida het volgende:
Dat meen je niet! :(
Sinds wanneer wordt het geven van goede raad hier afgestraft...eindelijk eens iemand die veel van html afweet en dan wordt ie gebanned, tenminste als wat jij zegt waar is natuurlijk.

mooie zaak! |:(
Ik geloof niet dat dit de plek is om dergelijke discussies uit te praten of al dan niet je mening te geven. Lees ff snel want vanavond trash ik de posts.

My Fizion | My 3D prints | LinkedIn


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op zondag 17 februari 2002 18:49 schreef Ida het volgende:
Omdat het altijd handig is om je eigen html-kennis te testen ben ik ook ff begonnen met het perfecte vierkant gedoe bouwen. Eerst kwam ik uit op dezelfde code als die van Crisp. Maar opeens was het duidelijk, Drububu heeft gelijk. *D
In de eerste tr zeg je rowspan="3", kijk nou eens in je code in welke tr die derde td van de rowspan staat...is 't tr 1, 2, 3, 4?? helemaal geen tr dus! :? Dus daarom klopt die niet.
Als je 't nu nog niet snapt! :'(
Als er 1 ding is dat Drububu bereikt heeft, dan is het dat ik erg hard ben gaan twijfelen over mijn eigen code. Echter ben ik daardoor nog meer gesterkt geraakt in mijn mening dat ik toch gewoon gelijk heb, en Drububu niet. Drububu heeft alleen zijn eigen glazen ingegooid door de manier waarop hij zijn (wellicht goedbedoelde) commentaar bracht; namelijk als keiharde kritiek cq flame.
Er is wel een 3e <tr>, dat is namelijk de <tr> waar vierkant nummer 6 in begint!

Anywayz, door drukte ben ik nog niet echt verder gekomen met de code van Norjee; hopelijk heb ik vanavond weer even tijd.

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Norjee: hulde! :)
Ik heb nog even getest met een aantal andere perfecte vierkanten, en inderdaad de code werkt feilloos! :)
De reden dat ik de eerste keer dacht dat 'ie vastliep was gewoon door het feit dat het erg lang duurde wat waarschijnlijk door de vele transformaties kwam.
Mijn oplossing is fundamenteel anders en daarbij ook iets sneller; details volgen vanavond.

Toch 1 foutje gevonden >:) : in IE5.0 kreeg ik de error "undefined is undefined". Dit is op te lossen door ipv "undefined" "null" te gebruiken en dan in plaats van:
code:
1
if (tableCode[i][j] != undefined)

gewoon
code:
1
if (tableCode[i][j])

te gebruiken.

Intentionally left blank


Verwijderd

je kan dit probleem ook in 3d proberen op te lossen denk ik. levert waarschijnlijk wel een zeer spectaculair plaatje op!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
OK, zoals beloofd heb ik mijn eigen code ook online gezet, en wel hier.
Ik ben nog bezig om de code zoveel mogelijk te optimaliseren, en een uitgebreide uitleg volgt ook nog.
Het basis idee is dat ik eerst de "grid" van de tabel bepaal in een eerste stap, en vervolgens daarmee de tabel uitteken.
Voor mijn gevoel was dit dus de snelste methode.
Op maandag 18 februari 2002 15:26 schreef de_das het volgende:
je kan dit probleem ook in 3d proberen op te lossen denk ik. levert waarschijnlijk wel een zeer spectaculair plaatje op!
Hoe had je dat voor je gezien? Een kubus opvullen met kleinere kubussen? Het is wiskundig te bewijzen dat een kubus niet op te vullen is met andere kubussen die allemaal een ongelijke grootte hebben, dus ik denk dat het een no-go is. Probeer dan liever de volgende stelling te bewijzen:

Bijna iedereen kent de stelling van pythagoras wel:
a2 + b2 = c2
Deze formule heeft oplossingen waarbij a, b en c positieve gehele getallen zijn.
bijvoorbeeld: 32 + 42 = 52
Bewijs dat an + bn = cn geen oplossingen heeft waarbij a, b en c positieve gehele getallen zijn en n > 2 (stelling van Fermat) >:)

Intentionally left blank


Verwijderd

de stelling van Fermat is onlangs opgelost en geloof me niet door mij :) mijn wiskundig inzicht is niet dusdanig ontwikkeld dat ik zou weten hoe je dat op zou moeten los.
was meer een idee wat zo in me opkwam!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op maandag 18 februari 2002 19:09 schreef de_das het volgende:
de stelling van Fermat is onlangs opgelost en geloof me niet door mij :) mijn wiskundig inzicht is niet dusdanig ontwikkeld dat ik zou weten hoe je dat op zou moeten los.
was meer een idee wat zo in me opkwam!
Klopt inderdaad, in 1997 geloof ik (zo'n 300 jaar na dato!).
Ik vond 'm zeer interessant, maar ben bang dat ik het bewijs ook niet zal snappen (krijg ik morgen een boek over).
Zo ben ik ook op het probeem van de "Perfect Squares" gekomen; door een boekje dat ik kon lenen van iemand. Ik ben dus gek op getal theorieen, en met name efficiente wiskundige oplossingen en bewijzen.
De ervaring leert dat je met zulke kennis dus ook zeer efficiente programma's kunt maken.
Zo kwam ik zo'n jaar geleden zelf al achter een efficiente methode om te testen of een getal priem is (namelijk testen of het getal deelbaar is door de priemgetallen tot en met de wortel van het getal). Gisteren leerde ik echter dat er nog efficientere methoden zijn.
Rekenen met arrays is een absolute pre bij mij. Zo heb ik bijvoorbeeld tetris in 800 coderegels geprogrammeerd (in RPG voor AS/400) :)

Intentionally left blank


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

* oh,when? moet eerlijk bekennen dat ie deze thread een beetje langs zich heen heeft laten gaan

:o

mede omdat:

- ik de uitleg niet snapte
- ik dacht dat het ging over tabelweergave in browsers

dus als je de volgende keer wat links posts ( in dit geval naar perfect squares theorie ) dan had ik wat actiever gedaan. nietemin allebei perfect gedaan natuurlijk, petje af!!

:)

"You're only as good, as what you did last week."


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Hier dan de uitleg van mijn code. Hopelijk kunnen de browser-boeren er nog wat van leren :P

Intentionally left blank


Verwijderd

Op maandag 18 februari 2002 21:47 schreef crisp het volgende:
Hier dan de uitleg van mijn code. Hopelijk kunnen de browser-boeren er nog wat van leren :P
ik heb jouw source bekeken, maar er zit een fout in de rowspan / colspan combinatie...hoezo zeg je dat het een browser probleem is?

Verwijderd

Op maandag 18 februari 2002 21:49 schreef Los het volgende:

[..]

ik heb jouw source bekeken, maar er zit een fout in de rowspan / colspan combinatie...hoezo zeg je dat het een browser probleem is?
die discussie is dus al gevoerd! :Z

  • Norjee
  • Registratie: April 2000
  • Niet online
Op maandag 18 februari 2002 21:47 schreef crisp het volgende:
Hier dan de uitleg van mijn code. Hopelijk kunnen de browser-boeren er nog wat van leren :P
Hehe.... Die manier van grid bepalen heb ik geprobeerd maar lukte niet snel genoeg naar mijn zin, dus toen maar op mijn manier gedaan :)

Kvind jou manier netter, en veel sneller natuurlijk :)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Op maandag 18 februari 2002 23:22 schreef Norjee het volgende:

[..]

Hehe.... Die manier van grid bepalen heb ik geprobeerd maar lukte niet snel genoeg naar mijn zin, dus toen maar op mijn manier gedaan :)

Kvind jou manier netter, en veel sneller natuurlijk :)
Thanx. Jouw manier vond ik echter ook heel aannemelijk, en is zeker toepasbaar bij moeilijkere vraagstukken. Met name het idee van "transponeren" (zo heet dat volgens mij officieel) heb je goed toegepast, en kan soms goed van pas komen!

Intentionally left blank

Pagina: 1