title image


Smiley Jetzt stell Dich doch nicht so an
Ich vermute mal, dass das Problem in der Verteilung der Geburtsdaten liegt. Den wichtigsten Teil hast Du aber schon (schau Dir Deine früheren Fragen an) - Du kannst skalare Werte in ein Datum übersetzen! Nun geht es nur noch darum, entsprechend verteilte Zufallswerte im Zielbereich zu generieren. Die Idee bzw. Lösung findest Du in den Threads von SonjaB. Ich hab nun wirklich keine Lust das auszuprogrammieren. Ich geb Dir aber einen Tip und ich vermute, dass euch euer Dozent damit auf's Kreuz legen wollte. Unter Windoof ist RAND_MAX 32767 (unter vernünftigen Systemen 2^31-1). Der zu betrachtende Zeitraum hat aber knapp 42000 Tage, die Umrechnung verbeult auch noch etwas und somit bekommst Du Lücken. Du musst also dafür sorgen, dass Deine Zufallszahl einen genügend grossen Wertebereich abdeckt. Am einfachsten wäre einfach lrand48() statt rand() zu verwenden oder selbst ein myrand() zu schreiben. Dann den (normalisierten) Wert nur noch in die schon bei Sonja beschriebene Funktion (siehe Links von Senex) einsetzen und entsprechend umrechnen - Fertig!



Meine Kristallkugel ist zwar gerade beim Nachschleifen, aber im Kaffeesatz sehe ich fast schon eure nächste Aufgabe. Ihr werdet entweder die Datensätze sortieren oder exponierte Sätze suchen müssen. Wenn Du Lust und Zeit hast, dann beschäftige Dich jetzt schon mit Sortierverfahren (insbesondere Heap-Sort). Heap-Sort ist übrigens nicht das beste Sortierverfahren (Quick-Sort aber garantiert auch nicht!). Trotzdem ist die Grundidee ideal um exponierte Datensätze zu finden. Wenn Du ein ideales Sortierverfahren suchst, dann kümmer Dich mal um Shell-Sort (und zwar in der neuen Version) - Ein Phoenix aus der Asche!



Viel Spass,



Uli (der jetzt sein Bierfass auf den Leiterwagen schnallt und seine Geige verstimmt - dann fällt das falsche Gegröle nicht so auf)

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: