Saltar al contenido

c ++ generar todos los ejemplos de código de subconjuntos

Si hallas algún error con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes subir el código al trabajo final.

Ejemplo 1: c++ genera todos los subconjuntos

#include <vector>
#include <iostream>
#include <cmath>
using namespace std;

int main() 
	// this is the length of the array of values
	// change variable "len" accordingly
	int len = 5;
	// this is the array of values
	int values[] = 3, 4, 2, 8, 5;
	
	// all subsets will be in vector "subsets"
	vector<int>> subsets;
	for (int i = 0; i < pow(2, len); i++) 
		int t = i;
		vector<int> v;
		for (int j = 0; j < len; j++) 
			if (t & 1)
				v.push_back(values[j]);
			t >>= 1;
		
		subsets.push_back(v);
	

	// print all of the subsets (optional)
	cout << "subsets:n";
	for (const vector<int>& subset: subsets) 
		for (const int& value: subset)
			cout << value << " ";
		cout << "n";
	
	// note: an empty line will be printed at the top,
	// indicating an empty subset

Ejemplo 2: imprimir todos los subconjuntos únicos

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
// Function to print the elements of a vector
void printVector(vector<int> const &out)

    for (int i: out)
        cout << i << " ";
    cout << 'n';

 
// Recursive function to print all distinct subsets of S
// S    --> input set
// out  --> vector to store subset
// i    --> index of next element in set S to be processed
void findPowerSet(int S[], vector<int> &out, int i)

    // if all elements are processed, print the current subset
    if (i < 0)
    
        printVector(out);
        return;
    
 
    // include current element in the current subset and recur
    out.push_back(S[i]);
    findPowerSet(S, out, i - 1);
 
    // exclude current element in the current subset
    out.pop_back(); // backtrack
 
    // remove adjacent duplicate elements
    while (S[i] == S[i-1])
        i--;
 
    // exclude current element in the current subset and recur
    findPowerSet(S, out, i - 1);

 
// Program to generate all distinct subsets of given set
int main()

    int S[] =  1, 3, 1 ;
    int n = sizeof(S) / sizeof(S[0]);
 
    // sort the set
    sort(S, S + n);
 
    // create an empty vector to store elements of a subset
    vector<int> out;
    findPowerSet(S, out, n-1);
 
    return 0;

Te mostramos las reseñas y valoraciones de los usuarios

Si posees alguna indecisión o forma de refinar nuestro sección puedes dejar una apostilla y con deseo lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *