🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #5364

Re: een algoritme...

#5364
From: Roel Schroeven
Date: Wed, 14 May 2003 07:37
85 lines
4273 bytes
TRAX wrote:

> Roel Schroeven wrote:
> 
>>TRAX wrote:
>>
>>>sorry, sorry ik weet het, ik post nogal veel met vraag om hulp maar
>>>ik zit er hier al twe uur op te zoeken, met breakpoints en alles en
>>>ik vind het niet :(
>>>de code:
>>>
>>>for (int i=0; i<zijde; i++){
>>>  for (int j=0; i<zijde; j++){
>>>    getal=random(19);
>>>    if (controletabel[getal]>=2){
>>>      do{
>>>       getal=random(19);
>>>       }
>>>      while(controletabel[getal]>=2);
>>>      controletabel[getal]++;}
>>>      else{
>>>      controletabel[getal]++;
>>>    };
>>>    tabel[i][j]=getal;
>>>  };
>>>};
>>
>>Naast de opmerkingen van KLinZ: je kan die code wat simpeler
>>schrijven, waardoor ze overzichtelijker wordt (toch zeker in mijn
>>ogen):
>>
>>for (int i=0; i<zijde; i++) {
>>   for (int j=0; j<zijde; j++) {
>>     do {
>>       getal=random(19);
>>     } while (controletabel[getal] >= 2);
>>     controletabel[getal]++;
>>     tabel[i][j]=getal;
>>   }
>>}
>>
>>De while van een do ... while wordt dikwijls op dezelfde regel gezet
>>als
>>de }, omdat do ... while veel minder voorkomt dan een gewone while; op
>>die manier is in een oogopslag gemakkelijker te zien dat de while bij
>>de lus er voor hoort.
>>De waarde in de controletabel ophogen deed je in beide takken van het
>>if-statement; als het toch in alle gevallen gebeurt, kan je het beter
>>buiten de if zetten.
>>En tenslotte, na een '}' die dient om een compound statement af te
>>sluiten moet je geen ';' zetten.
> 
> 
> Bedankt! Ziet er inderdaad frisser uit en werkt even goed. Nog een klein
> vraagje waarvoor ik geen thread wil starten: Ik wil in mijn GUI een tabel
> van TImages maken, en die displayen lukt perfect. Maar blijkbaar kan ik die
> niet in een tweedimensionale tabel opslaan:
> TImage *pictabel;
> pictabel = new TImage[2, 4];
> 
> Daarom geeft hij de compliler error E2248 Die ik efkes opgezocht heb: E2248
> Cannot find default constructor to initialize array element of type 'class'
> Compiler error
> When declaring an array of a class that has constructors, you must either
> explicitly initialize every element of the array, or the class must have a
> default constructor.
> 
> The compiler will define a default constructor for a class unless you have
> defined any constructors for the class.
> Wat wil dat allemaal zeggen? bestaat er geen default constructor in de
> klasse TImage die een tweedimensionale array kan maken voor mij? Moet ik het
> anders doen? Staat mijn declarartie verkeerd? (in een event handler, en
> t'zou er ook moeten blijven staan, aangezien de grootte van de tabel kan
> veranderen)

Volgens de documentatie ziet de constructor van TImage er zo uit:

__fastcall virtual TImage(Classes::TComponent* AOwner);

Je moet dus elk element apart aanmaken, en de owner (= de form waarop de 
image komt te staan) meegeven.

-- 
"Codito ergo sum"
Roel Schroeven
Technical Details
Message-ID: <8nmwa.1335$1u5.157@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-09!supernews.com!news-out.visi.com!petbe.visi.com!feed2.news.rcn.net!rcn!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,dcf5f7295edf5117
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-05-14 00:39:14 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-09!supernews.com!news-out.visi.com!petbe.visi.com!feed2.news.rcn.net!rcn!news-out.cwix.com!newsfeed.cwix.com!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Roel Schroeven <j4nff5m02@sneakemail.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507
X-Accept-Language: nl-be, nl, en-us, en
MIME-Version: 1.0
Newsgroups: be.comp.programming
Subject: Re: een algoritme...
References: <T%awa.698$1u5.156@afrodite.telenet-ops.be> <fXdwa.1083$1u5.154@afrodite.telenet-ops.be> <y%kwa.1270$1u5.216@afrodite.telenet-ops.be>
In-Reply-To: <y%kwa.1270$1u5.216@afrodite.telenet-ops.be>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 86
Message-ID: <8nmwa.1335$1u5.157@afrodite.telenet-ops.be>
Date: Wed, 14 May 2003 07:37:40 GMT
NNTP-Posting-Host: 213.119.50.61
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1052897860 213.119.50.61 (Wed, 14 May 2003 09:37:40 MET DST)
NNTP-Posting-Date: Wed, 14 May 2003 09:37:40 MET DST
Organization: Telenet Internet