Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Lotto Ziehung ()

Schreiben Sie zunächst eine Funktion, die als Rückgabewert eine einfache sortierte Liste mit 6 zufälligen Zahlen von 1 bis 49 liefert (6 aus 49). Dabei soll eine Zahl jeweils nur ein Mal in der Liste vorkommen!

Schreiben Sie anschließend ein Programm, welches die Funktion 3 Mal aufruft und den Rückgabewert jeweils wieder in einer Liste speichert. Am Ende geben Sie diese zweidimensionale Liste mit den drei Ziehungen 6 aus 49 auf dem Bildschirm aus.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

5 Lösung(en)

static List<int> Lotto() => Enumerable.Range(1, 49).OrderBy(x => Guid.NewGuid()).Take(6).OrderBy(x => x).ToList();
var lst = Enumerable.Range(0, 3).Select(x => Lotto()).ToList();
lst.ForEach(x => Console.WriteLine(string.Join(", ", x)));
                

Lösung von: Jens Kelm (@JKooP)

function lotteryNumbers(min = 1, max = 49, num = 6) {
  let out = [];
  while (out.length < num) {
    let cur = Math.floor(Math.random() * (max - min + 1) + min);
    if (out.indexOf(cur) == -1) out.push(cur);
  }
  return out.sort(function(a, b) {return a - b});
}

let list = [], i;
for (i = 1; i <= 3; i++) list.push(lotteryNumbers());
console.log(list);

                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

// Achtung: F#
let lotto a b = [a .. b] |> List.sortBy (fun _ -> System.Random().Next()) |> List.take(6) |> List.sort

let ziehung n = 
    let mutable lst = []
    for _ in 1 .. n do 
        lst <- [lotto 1 49] |> List.append lst
    lst

printfn "%A" (ziehung 3)
                

Lösung von: Jens Kelm (@JKooP)

#include <iostream>
#include <vector>
#include <algorithm>

std::vector<int> lottery_numbers() {
    std::vector<int> v;
    auto c{ 0 };
    while (c < 6) {
        auto r{ rand() % 49 + 1 };
        if (std::find(v.begin(), v.end(), r) == v.end()) {
            v.push_back(r);
            c++;
        }
    }
    std::sort(v.begin(), v.end());
    return v;
}

std::vector<std::vector<int>> list_lottery_numbers(int n) {
    std::vector<std::vector<int>> v;
    for (size_t i = 0; i < n; i++)
        v.push_back(lottery_numbers());
    return v;
}

void print_lottery_numbers(const std::vector<std::vector<int>>& v) {
    for (const auto& l : v) {
        for (const auto& n : l)
            std::cout << n << " ";
        std::cout << std::endl;
    }
}

int main() {
    srand(time(NULL));
    print_lottery_numbers(list_lottery_numbers(3));
}
                

Lösung von: Jens Kelm (@JKooP)

import random
def lotto_numbers():
    return sorted(random.sample(range(1, 50), k=6))
print([lotto_numbers() for _ in range(3)])
                

Lösung von: Name nicht veröffentlicht

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit:
Schwierigkeit: k.A.
Webcode: 6xwk-jbqb
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen