elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Programación / Programación C/C++ / Re: Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 02:02 am
Vale ahora miraré como puedo solucionar todo eso que me has dicho, no había caído en todo eso que has dicho y creo que tienes toda la razón.
Uso este método y no el de sort porque sort no puede ordenar objetos de la clase contacto, no he encontrado ninguna manera de decirle que quiero que lo ordene segun el atributo nombre. Si sabes algún modo de hacerlo, en plan operador ternario al que se le pasa la condición o algo asi.

Muchas gracias.
12  Programación / Programación C/C++ / Como intercambiar valores de un iterator en C++ en: 20 Enero 2019, 01:28 am
Hola,
Si alguien puede ayudarme en como intercambiar dos valores de una lista (debe estar ordenada alfabéticamente). Esta lista contiene objetos de una clase contacto.
Les dejo por aquí los atributos de la clase contactos.
Código:
private:
  string nombre;// Cadena con el contenido de la palabra
  int nTlf;

Atributos de la clase Agenda ( es la que contiene la lista).
Código:
 private:
  list<Contacto> listapal;// La lista STL con los contactos de la agenda.
  bool encuentraContacto(const string &, list<Contacto>::iterator &);
 
Este es el método que debe ordenar la lista <listapal>.
Código:
void/*list<Contacto>*/ Agenda:: ordenaListas()
{
list<Contacto> :: iterator aux;
Contacto contI;
Contacto contJ;

for (list<Contacto>::iterator it=listapal.begin();it != listapal.end(); it++)
{
for (list<Contacto>::iterator jt=it;jt!=listapal.end(); jt++)
{
jt++;
contI=*it;
contJ=*jt;

if(!(contI.getNombre()<=contJ.getNombre()))
{
//Primer intento
/* *aux=*it;
*it=*jt;
*jt=*aux;*/

                                //Segundo intento
pos->setNombre(it->getNombre());
pos->setNumeroTelefono(it->getNumeroTelefono());

it->setNombre(jt->getNombre());
it->setNumeroTelefono(jt->getNumeroTelefono());

jt->setNombre(pos->getNombre());
jt->setNumeroTelefono(pos->getNumeroTelefono());

}
}}

Les he puesto las dos cosas que creo que más sentido tendrían. El problema es que al compilar y ejecutarlo se queda congelado cuando intenta ordenar la lista.

Lo que pretendo hacer es usar el método de la burbuja. Les dejo una idea de lo que quisiera hacer pero con iteradores.
Código:
for (i=0; i<n-1; i++)
{
   for (j=i+1; j<n; j++)
  {
    if(V[i]>V[j])
    {
     aux = V[i];
     V[i] = V[j];
     V[j] = aux;
    }
  }
}


13  Programación / Java / Re: IDE para programar en Java en: 7 Diciembre 2018, 22:36 pm
BlueJ, Eclipse o Visual Studio Code
14  Programación / Java / Ayuda para compilar en Java en: 7 Diciembre 2018, 22:05 pm
Tengo un código que debe hacer de cliente FTP, estoy usando: http://commons.apache.org/proper/commons-net/download_net.cgi

Para poder usar la clase FTPClient. La pregunta es como se compilaría el código desde un terminal, es que yo pruebo con
Código:
javac -classpath .\commons-net-3.6.jar .\FicherosFTP.java
pero no funciona.

Código:
import java.io.*;
import org.apache.commons.ftp.FTPClient;



public class FicherosFTP{
 public static void main(String[] args) {
       FTPClient client = new FTPClient ();

       String sFTP="";
       String sUser = "";
       String sPassword= "";

    try {
        client.connect(sFTP);
        boolean login =  client.login(sUser, sPassword);
        client.logout();
        client.disconnect();
    } catch (Execption e) {
        
    }
    }
}
15  Programación / Bases de Datos / Re: Crear una relación en base de datos (sql oracle) en: 27 Noviembre 2018, 12:27 pm
- Dependerá algo de la metodología y sintáxis que estés utilizando, yo lo haría así:

-- Multiusos (1,1) <=> Reservas (0,n), implica Cardinalidad máxima o mínima:
--- Un Multiusos puede tener como mínimo 0 Reservas
--- Un Multiusos puede tener como máximo n Reservas
--- Una Reserva puede tener como mínimo 1 Multiusos
--- Una Reserva puede tener como máximo 1 Multiusos

-- Se deduce una Relación 1 a muchos:
--- Multiusos (1:n) Reservas
--- Puede existir Multiusos sin necesidad de Reservas
--- Reservas DEPENDE de la existencia de Multiusos, entonces la clave foranea va en Reservas


Muchas gracias.
Entonces entiendo que para una relación 1,1<->1,n no necesito una tabla de relación?
Es que he visto algunas tablas de relaciones. Supongo que se usaran para relaciones 1<->1.
16  Programación / Bases de Datos / Crear una relación en base de datos (sql oracle) en: 26 Noviembre 2018, 21:59 pm
Soy nueva en base de datos y tengo que crear una serie de tablas y sus relaciones. Lo primero que tengo que hacer son estas dos tablas y la relación que las une:


No entiendo muy bien donde tengo que colocar las foreign key, si en las tablas relacionadas o en la relación. Aquí pongo como lo he hecho yo que ha sido colocando una clave foránea con un nombre en la tabla relacionada y otra clave en la relación. No se muy bien como afecta que sea una relación 1,1 -> 1,n

Código:
CREATE TABLE MULTIUSOS ( 
    id_multiusos number,
    megafonia varchar(20),
    red varchar(5) default 'FALSE',   
    codigo number,
    nombre_salas varchar(50),
    capacidad number,
    tipo varchar(2),
   
    constraint CK_red_valor check (red ='TRUE' or red ='FALSE'),
    constraint multiusos_pk primary key (id_multiusos)
    );

CREATE TABLE RESERVAS (
    id_reserva number,
    fehca date,
    hora_ini date,
    hora_fin date,
    evento varchar(20),
    id_multiusos number,
    id_empleado number,
   
    constraint reservas_pk primary key (id_reserva),
    constraint multiusos_fk
        foreign key( id_multiusos)
            references MULTIUSOS(id_multiusos),
    constraint empleado_fk
        foreign key (id_empleado)
            references EMPLEADOS(id_empleado)
    );

CREATE TABLE RESERVAS_MULTIUSOS (
    id_reservas number,
    id_multiusos number,
   
    constraint rel_reservas_multiusos_fk
        foreign key (id_reservas)
            references RESERVAS(id_reserva),
    constraint rel_multiusos_reservas_fk
        foreign key(id_multiusos)
            references MULTIUSOS(id_multiusos)
    );


Si alguien puede sacarme de dudas :huh:...gracias.
17  Programación / Programación C/C++ / ¿Con que puedo seguir en C++? en: 15 Noviembre 2018, 19:38 pm
Me gustaría saber que es lo siguiente que podría aprender en c++, mi nivel llega hasta  templates, punteros, POO...
Las interfaces gráficas y con protocolos las hago con java y programación en sistemas operativos me la controlo con C. Si tiene alguna idea de lo que podría hacer ahora con c++.  :P
18  Programación / Programación C/C++ / Re: AYUDA CON RECURSIVIDAD en: 8 Enero 2018, 20:31 pm
Vale, ya entiendo. Verás: tal y como está no se detendrá nunca porque visible no lo tienes en cuenta a la hora de parar. Imagina que tienes dos casillas contiguas que no tienen nada. El jugador marca la de la izquierda y la hace visible y el código pasa después a la de la derecha. El código la hace visible y en algún momento volverá a mirar la de la izquierda. Como no tiene condición de parada el que una casilla sea visible este bucle se repetira (izquierda, derecha, izquierda, derecha, ...) hasta que la pila se llene de llamadas y el programa se detenga.

En eso creo que tienes toda la razón pero aun poniendo la condición de parada de visible sigue haciendo lo mismo de quitarme solo una si le asigno visible=true en el inicio o meterse en bucle si lo meto dentro de los ifs

Código:
void FncOpenPoint(Tablero Partida, int fil, int col)
{
Partida[fil][col].visible=true;
if(!Partida[fil][col].mine)
if(Partida[fil][col].num==0&&!Partida[fil][col].flag&&!Partida[fil][col].visible)
{
//cout<<"yeee"<<endl;
//Partida[fil][col].visible=true;
//system("PAUSE");
//do{
if(fil>0||col>0){
FncOpenPoint( Partida,  fil-1,  col-1);
//cout<<"yeeeffffffffffffffffffffffffffffffffffffffffff"<<endl;
FncOpenPoint( Partida,  fil-1,  col);
FncOpenPoint( Partida,  fil-1,  col+1);
FncOpenPoint( Partida,  fil,  col-1);
FncOpenPoint( Partida,  fil,  col+1);
FncOpenPoint( Partida,  fil+1,  col-1);
FncOpenPoint( Partida,  fil+1,  col);
FncOpenPoint( Partida,  fil+1,  col+1);
}//while (fil<0&&fil>FIL&&col<0&&col>COL);
/*for(int i=fil-1;i<fil+1;i++)
for(int j=col-1;j<col+1;j++){
FncOpenPoint( Partida,  i,  j);
//cout<<"yeee"<<endl;
}*/
//system("PAUSE");
}
else{
if(Partida[fil][col].mine!=true)
Partida[fil][col].visible=true; }
}


Código:
void FncOpenPoint(Tablero Partida, int fil, int col)
{

if(!Partida[fil][col].mine)
if(Partida[fil][col].num==0&&!Partida[fil][col].flag&&!Partida[fil][col].visible)
{
//cout<<"yeee"<<endl;
Partida[fil][col].visible=true;
//system("PAUSE");
//do{
if(fil>0||col>0){
FncOpenPoint( Partida,  fil-1,  col-1);
//cout<<"yeeeffffffffffffffffffffffffffffffffffffffffff"<<endl;
FncOpenPoint( Partida,  fil-1,  col);
FncOpenPoint( Partida,  fil-1,  col+1);
FncOpenPoint( Partida,  fil,  col-1);
FncOpenPoint( Partida,  fil,  col+1);
FncOpenPoint( Partida,  fil+1,  col-1);
FncOpenPoint( Partida,  fil+1,  col);
FncOpenPoint( Partida,  fil+1,  col+1);
}//while (fil<0&&fil>FIL&&col<0&&col>COL);
/*for(int i=fil-1;i<fil+1;i++)
for(int j=col-1;j<col+1;j++){
FncOpenPoint( Partida,  i,  j);
//cout<<"yeee"<<endl;
}*/
//system("PAUSE");
}
else{
if(Partida[fil][col].mine!=true)
Partida[fil][col].visible=true; }
}
19  Programación / Programación C/C++ / Re: AYUDA CON RECURSIVIDAD en: 8 Enero 2018, 19:44 pm
Si nos pudieras decir qué es cada miembro de Partida, qué hace y cuáles son las condiciones de parada te podríamos ayudar mejor. Yo voy muy a ciegas.

Código:
struct Estados
{
bool mine;
bool visible=false;
bool flag=false;
int num=0;

};

Las condiciones de parada de la funcón recursiva son que encuentre una casilla con un valor diferente a 0 o encuentre una mina.
20  Programación / Programación C/C++ / Re: AYUDA CON RECURSIVIDAD en: 8 Enero 2018, 15:15 pm
Se te ha colado una asignación (=0) donde debería haber una comparacion (==0):
Código:
if(Partida[fil][col].num=0&&Partida[fil][col].flag==false)

El resto no lo he mirado.

Tienes razón pero sigue sin funcionar aún asi. La condición de parada es que encuentre los límites del tablero o que encuentre una mina. Pero hace dos cosas, solo me marca como visible la primera y no hace nada mas o se mete en bucle y no sale. Gracias!
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines