[programmeren]java - latijns vierkant

Moderators: ArcherBarry, Fuzzwood

Reageer
Gebruikersavatar
Berichten: 10.179

[programmeren]java - latijns vierkant

Hey,

ik was een oud examenvraag aan het bekijken van programmeren in Java:

"We noemen een vierkante nxn-matrix een Latijns vierkant als voor een verzameling van n verschillende gehele getallen er geldt dat elk getal exact één keer per rij en kolom voorkomt. Schrijf een methode die voor een vierkante matrix nagaat of het een Latijns vierkant is."

Ik heb reeds een constructor en de nodige getters en setters, enkel, dit wil mij niet echt lukken.

Mijn probleem is dat ik niet weet hoe ik in een rij zou moeten nagaan of elk element een keer voorkomt (ik kan wel vergelijken tov één element maar dat is niet genoeg hè :D )

Bvd,

Dries
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

Gebruikersavatar
Berichten: 6.905

Re: [programmeren]java - latijns vierkant

Maak gewoon een extra array aan met de lengte van een rij kolom. Per rij (zelfde voor kolom) ga je die array vullen en telkens als je een element toevoegt eerst controleren of het al voorkomt. Indien het zo is kan je rechtstreeks False teruggeven; anders True op het einde van heel de functie.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Berichten: 10.179

Re: [programmeren]java - latijns vierkant

Goed gezien jhnbk :D Bedankt voor het rappe antwoord, nu moet het normaal wel lukken :P
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

Gebruikersavatar
Berichten: 4.810

Re: [programmeren]java - latijns vierkant

Je kan ook elke element van een rij in een set steken. Wanneer je een dubbele waarde in een set steekt wordt deze niet opgenomen. Wanneer je na het inlezen van een rij/kolom gewoon de grootte van de set opvraagt en deze vergelijkt met de grootte van de rij dan kan je zien of er dubbele aanwezig zijn.

Gebruikersavatar
Berichten: 6.905

Re: [programmeren]java - latijns vierkant

@cycloon; is dat iets java specifiek?

EDIT: blijkbaar niet. Python ondersteunt het ook :D (moet ik dan maar eens bekijken)
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Gebruikersavatar
Berichten: 4.810

Re: [programmeren]java - latijns vierkant

De meeste talen kennen wel iets als een set, als het niet bestaat kan je het ook altijd zelf maken (toch als de taal objectgericht programmeren ondersteunt).

C++ kent het ook zeker.

Gebruikersavatar
Berichten: 10.179

Re: [programmeren]java - latijns vierkant

Hmm, maar als je hem (de set methode maw) zelf nog moet gaan maken, is het voordeel tov jhnbk zijn methode dan niet weg? :D
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

Gebruikersavatar
Berichten: 2.609

Re: [programmeren]java - latijns vierkant

Hmm, maar als je hem (de set methode maw) zelf nog moet gaan maken, is het voordeel tov jhnbk zijn methode dan niet weg? :D


Als je het 1x hebt gemaakt kan je het steeds opnieuw gebruiken wat wel handig is.

Gebruikersavatar
Berichten: 4.810

Re: [programmeren]java - latijns vierkant

Hmm, maar als je hem (de set methode maw) zelf nog moet gaan maken, is het voordeel tov jhnbk zijn methode dan niet weg? :D
Het zal allebei evenveel werk zijn, alleen zal de code op zich duidelijker leesbaar zijn omdat zaken meer gesplitst zijn, anderzijds heb je ook het voordeel dat hergebruik mogelijk is (reeds gezegd).

Als je nog niet met de set collection mag werken dan is jhnbk zijn oplossing de enige goede die overschiet (maar de set zal heel wat performanter zijn bij heel grote rijen omdat een set niet lineair moet doorzocht worden).

Hier overigens de implementatie van de Set als HashSet door Java: http://java.sun.com/j2se/1.5.0/docs/api/ja...il/HashSet.html

Gebruikersavatar
Berichten: 10.179

Re: [programmeren]java - latijns vierkant

Als je nog niet met de set collection mag werken dan is jhnbk zijn oplossing de enige goede die overschiet (maar de set zal heel wat performanter zijn bij heel grote rijen omdat een set niet lineair moet doorzocht worden).
Het is niet zozeer een kwestie dan wel van kunnen :P Mar ga het straks toch eens proberen zelf te schrijven ;)

EDIT: zie juist je link, zal die ook eens bezien se :D
Zoek je graag naar het meest interessante wetenschapsnieuws? Wij zoeken nog een vrijwilliger voor ons nieuwspostteam.

Reageer