• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Permutacja w jezyku C#

Object Storage Arubacloud
0 głosów
582 wizyt
pytanie zadane 31 stycznia 2020 w C# przez Metarinda Użytkownik (740 p.)
zamknięte 1 lutego 2020 przez Metarinda

Witam

mam napisany program w C#, ale nie wiem gdzie popełniłam błąd. proszę o pomoc w naprawieniu programu.

 A to treść zadania:

Napisz program implementujący algorytm generujący wszystkie permutacje n cyfr (nie można korzystać z gotowych funkcji generujących permutacje) w następujący sposób:

  • aby wygenerować permutacje program musi pamiętać permutacje z poprzednich kroków (metoda rekurencyjna) [O]
komentarz zamknięcia: rozwiazane

1 odpowiedź

0 głosów
odpowiedź 31 stycznia 2020 przez tangarr Mędrzec (154,860 p.)
edycja 31 stycznia 2020 przez tangarr

Zupełnie nie rozumiem twojego toku rozumowania.
Wydaje mi się, że powinieneś pracować na tablicy znaków a nie na liczbie. Tak naprawdę dla permutacji nie ma znaczenia czy napis zawiera cyfry, litery, czy inne znaki.
Chwilkę pogłówkowałem i wymyśliłem taką metodę:

// pseudokod
funkcja permutacja(napis_wejsciowy, wynik_posredni) {
    if (napis_wejsiowy jest pusty) {
        wyswietl(wynik_posredni)
        return
    }
    for (int i=0; i< dlugosc(napis_wejsciowy); i++) {
        tmp = kopia(napis_wejsciowy)
        znak = tmp[i]
        tmp.usun_znak(i)
        permutacja(tmp, znak+wynik_posredni)
    }    
}

// przykład użycia
permutacja("1234", "")

W międzyczasie spróbuję to zaimplementować, żeby sprawdzić, czy ten pomysł ma prawo działać.

Edit: Działa

Podobne pytania

0 głosów
1 odpowiedź 203 wizyt
0 głosów
1 odpowiedź 172 wizyt
pytanie zadane 13 maja 2018 w C i C++ przez niezalogowany
0 głosów
2 odpowiedzi 193 wizyt
pytanie zadane 1 grudnia 2015 w C i C++ przez toyboy Początkujący (270 p.)

92,568 zapytań

141,420 odpowiedzi

319,623 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...