#include<iostream>
#include <stdlib.h>
int potencia(int b,int e){
int i;
int pot=1;
for(i=1;i<=e;i++){
pot=pot*b;
}
return pot;
}
int main(){
int i,j,lim;
std::string A[100];
std::cout<<"Ingrese el numero de elementos del conjunto"<<"\n";
std::cin>>limite;
for(i=0;i<limite;i++){
std::cout<<"Ingrese el elemento: "<<i+1<<" ";
std::cin>>A[i];
}
for(i=0;i<potencia(2,limite);i++){
for(j=0;j<limite;j++){
if(i & (1<<j))
std::cout<<A[j];
}
std::cout<<"\n";
}
system("pause");
return 0;
}
Tira error en string a[100]; PORQUE??? Saludos
ResponderBorrarEn que ide lo estas desarrollando, el código que esta aquí esta desarrollado en dev C++, si lo estas desarrollando en eclipse por ejemplo puede ser que se necesite otra librería adicional para poder leer strings
BorrarLo ejecuté en dev C++ y muestra el g++.exe dejó de funcionar.
BorrarRealmente no se que les puede fallar, pero aqui dejo un video donde pueden ver el codigo y como se ejecuta normalmente
Borrarhttps://www.youtube.com/watch?v=6k5tENIM1vk
el comando if(i & (1<<j) como se colocaría en java, o que es lo que hace la condición?
ResponderBorrarEn el if (i & (1<<j)), el"1<<j" realiza el desplazamiento de 1 para generar una máscara de bits en la que solo se establece el j-ésimo bit, mientras que el operador & compara cada bit de su primer operando con el bit correspondiente de su segundo operando. Si ambos bits son 1, el bit del resultado correspondiente se establece en 1. De lo contrario, el bit del resultado correspondiente se establece en 0.
Borrarpues.... han pasado 3 años desde que este código fue publicado y hay un error que no se ha detectado y posiblemente por eso no funciona (posiblemente no sea eso, actualmente uso c no tengo ningún conocimiento sobre c++ así que por eso no se si es eso o no) pero en la linea donde se declaran las variables de tipo entero una de ellas se llama "lim" pero mas adelante se usa una variable llamada "limite", por lo que entendí de este código (reitero no se nada de c++) la variable lim es la misma que la variable limite pero como limite no esta declarada esta causando que el programa falle(deje de funcionar), así que la solución seria:la variable declarada lim cambiarla por limite, ó , las operaciones realizadas con la variable limite sean cambiadas por operaciones con la variable lim
ResponderBorrarSi ese es el error.
Borrar