Montag, 27. Juli 2009

And the winner is: Gewinnerziehung für die Jobzufriedenheitsumfrage

Am 2. Juli 2009 hatte das Professional Developer College zu einer Jobzufriedenheitsumfrage aufgerufen. Einsendeschluss der Fragebogen-Auswertungen war der 24. Juli.

In den knapp 3 Wochen Laufzeit der Umfrage sind insgesamt 56 Fragebogen-Auswertungen eingegangen, die ein interessantes Bild von der Jobzufriedenheit der .NET-Community zeichnen. Manches kam heraus wie erwartet, anderes ist überraschend oder ein Fingerzeit. Seien Sie gespannt auf die ganze Wahrheit in einer der nächsten dotnetpro-Ausgaben.

Die Gewinner

Einstweilen möchten wir jedoch schon den Gewinnern der Umfrage gratulieren. Sie sollen nicht bis zum Erscheinen der Umfrageauswertung warten. Hier die Teilnehmerliste mit soweit anonymisierten Email-Adressen, dass höchstens ihr Inhaber sie erkennen kann:

image 

Der Code für die Ziehung

Für die Gewinnerziehung haben wir die Email-Adressen in alphabetische Reihenfolge gebracht und dann folgenden Algorithmus gestartet:

static void Main()
{
    Console.WriteLine("And the winner is...\n");

    Console.Write("Number of contestants: ");
    int numberOfContestants = int.Parse(Console.ReadLine());

    Console.Write("Number of prizes: ");
    int numberOfPrizes = int.Parse(Console.ReadLine());

    Console.Write("Seed for random number generator (e.g. final date of contest): ");
    int randomGenSeed = int.Parse(Console.ReadLine());

    Random rnd = new Random(randomGenSeed);
    HashSet<int> winnerIndexes = new HashSet<int>();
    List<int> winnerList = new List<int>();

    while(winnerIndexes.Count < numberOfPrizes)
    {
        int winnerIndex = rnd.Next(1, numberOfContestants);
        if (!winnerIndexes.Contains(winnerIndex))
        {
            winnerIndexes.Add(winnerIndex);
            winnerList.Add(winnerIndex);
        }
    }

    Console.WriteLine("\nList of winners (indexes of contestants):");
    foreach (int winnerIndex in winnerList)
        Console.WriteLine(winnerIndex);
}

Die Ziehung

Die Eingabedaten waren wie folgt:

image

Als Gewinnerindizes für die alphabetische Liste ergaben sich daraus in der üblichen Reihenfolge vom 3. zum 1. Preis:

3. Preise: Indizes 28, 15, 30 – Ein Dilbert-Comic

2. Preise: Indizes 31, 11 – Das Buch “Clean Code” von Robert C. Martin

1. Preise: Index 19 – Ein dotnetpro-Abo

Der Rechtswegs war und ist ausgeschlossen. Wer möchte, kann das Ergebnis nachvollziehen mit dem Code, der hier zum Download bereitsteht. Das ist doch besser als im Fernsehen, oder? ;-)

Wir gratulieren den Gewinnern, die nun per Email benachrichtigt werden:

1. Hans Martin Hertzberg, Bremen
2. Jens Nösel, Hamburg
2. Markus Zywitza, Aarbergen
3. Marc Ambrosius, Hannover
3. Markus Klein, Wien
3. Frank Jurisch, Erfurt

Und wir danken allen Teilnehmern für ihr Mitmachen.

Keine Kommentare: