Springen naar inhoud

[programmeren]java - latijns vierkant


  • Log in om te kunnen reageren

#1

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 12 januari 2009 - 11:14

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.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 12 januari 2009 - 11:17

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.

#3

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 12 januari 2009 - 11:21

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.

#4

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 januari 2009 - 11:31

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.

#5

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 12 januari 2009 - 11:32

@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.

#6

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 januari 2009 - 11:58

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.

#7

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 12 januari 2009 - 12:18

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.

#8

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 12 januari 2009 - 12:23

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.

#9

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 januari 2009 - 12:45

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/...il/HashSet.html

Veranderd door Cycloon, 12 januari 2009 - 12:47


#10

Drieske

    Drieske


  • >5k berichten
  • 10217 berichten
  • Moderator

Geplaatst op 12 januari 2009 - 12:53

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

Veranderd door Drieske, 12 januari 2009 - 12:54

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





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures