Article View: be.comp.programming
Article #5364Re: een algoritme...
From: Roel Schroeven
Date: Wed, 14 May 2003 07:37
Date: Wed, 14 May 2003 07:37
85 lines
4273 bytes
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-mailReferences:
<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