k-elementowe podzbiory i krotność powtarzania się elementów ciągu

0

Witam!
Widziałem już kilka kodów na temat tego zadania: Wygeneruj wszystkie k-elementowe podzbiory zbioru n-elementowego.
Ale nadal nie rozumiem, jak wyprowdzić wszystkie jedynki itd., w momencie gdy wybieramy n i k. Proszę o pomoc:

#include <stdio.h>
#include <algorithm>
 
void wypisz(int a[], int n)
{
    for(int i=0; i<n; i++)
    {
        if( a[i] )printf("%d", i+1);
    }
    printf("\n");
}
 
int main(void)
{
    int i,n,k;
    printf("Podaj n\n");
    scanf("%d", &n);
    printf("Podaj k\n");
    scanf("%d", &k);
 
    int tab[n];
    for(i=0;i<n;i++)
    {
        if(i<n-k)
            tab[i] = 0;
        else
            tab[i] = 1;
    }
    wypisz(tab,n);
 
    while( std::next_permutation(tab,tab+n) )
        wypisz(tab,n);
        return 0;
}

Jest jeszcze druga sprawa: Wyznacz krotność powtarzania się poszczególnych elementów w ciągu {a1, a2,…an} Do tego nie wiem kompletnie jak się zabrać w programie :/
Z góry dziękuję za pomoc

0

Tak jak próbujesz, to nie zadziała:
https://en.cppreference.com/w/cpp/algorithm/next_permutation
next_permutation zwraca permutacje w podanym range, a nie wszystkie k elementowe w danej tablicy; to maja być podzbiory, czyli k elementowe kombinacje ze zbioru n elementowego? Jeśli tak, to cos takiego:
https://www.geeksforgeeks.org/make-combinations-size-k/

krotność powtarzania

Chodzi Ci o frequencies?
https://www.geeksforgeeks.org/program-to-find-frequency-of-each-element-in-a-vector-using-map-in-c/

0

Dokładnie o to mi chodzi :)
A czy istnieje możliwość zrobienia tych programów ale nie na wektorach?
Nie znam ich, jestem bardzo początkujący ;_;

1

Pewnie, że istnieje, vector, "under the Hood" jest tablicą.

1
Robert_SM napisał(a):

Dokładnie o to mi chodzi :)

A czy istnieje możliwość zrobienia tych programów ale nie na wektorach?
Nie znam ich, jestem bardzo początkujący ;_;

Początkujący w C++ nie powinien czepiać się surowych tablic odziedziczonych po C, ale właśnie nauczyć się vectorów...

1 użytkowników online, w tym zalogowanych: 0, gości: 1