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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: [BASH] Ejecutar un script pasandole argumentos desde otro en: 14 Octubre 2014, 18:47 pm
Muchas gracias daryo,
funciona perfectamente,mas simple de lo que yo pensaba .

Saludos y Gracias :)
2  Programación / Scripting / Re: [BASH] Ejecutar un script pasandole argumentos desde otro en: 11 Octubre 2014, 13:43 pm
Nadie puede darme una idea de por donde tirar o que funcion utilizar ,etc?

Saludos y Gracias
3  Programación / Java / Comparar lista de objetos sin importar orden en: 9 Octubre 2014, 12:18 pm
Hola,
Estoy haciendo ejercicios de java y me he encontrado con uno que no logro resolver,a ver si me podeis echar una mano.

Resulta que tengo varias clases: Circulo,Triangulo,GrupoFiguras y UsoDeGrupoFiguras

Código
  1. public class Triangulo{
  2. private double x,y;
  3. private double base,altura;
  4.  
  5.  
  6. public boolean equals (Object c){
  7.    if(c instanceof Triangulo){
  8.        Triangulo tri=(Triangulo) c;
  9.        if(this.x==((Triangulo)c).x && this.y==((Triangulo)c).y && this.base==((Triangulo)c).base && this.altura==((Triangulo)c).altura)
  10.        return true;
  11.    }
  12.  
  13.    return false;
  14. }
  15.  
  16. //triangulo.equals(triangulo2)
  17.  
  18. Triangulo(double cx,double cy,double b, double a)
  19. {x= cx; y = cy; base = b; altura = a;}
  20.  
  21. public String toString()
  22. {return "Triangulo:\n\t"+"Posicion: ("+x+","+y+")\n\tBase: "+base+"\n\tAltura: "+altura;}}

Código
  1. public class Circulo{
  2. private double x,y;
  3. private double r;
  4.  
  5.  
  6. Circulo(double a, double b,double c)
  7. {x=a; y=b; r=c;}
  8.  
  9. public boolean equals (Object c){
  10.    if(c instanceof Circulo){
  11.        Circulo cir=(Circulo) c;
  12.        if(this.r==((Circulo)c).r && this.x==((Circulo)c).x && this.y==((Circulo)c).y) return true;
  13.    }
  14.  
  15.    return false;
  16. }
  17.  
  18.  
  19. public String toString ()
  20. {return "Circulo:\n\t"+
  21. "Posicion: ("+x+","+y+
  22. ")\n\tRadio: "+r+"\n";}}


En este el metodo equals esta mal,lo estoy probando

Código
  1. public class GrupoFiguras{
  2.  
  3. static final int MAX_NUM_FIGURAS = 10;
  4. private Object [] listaFiguras = new Object [MAX_NUM_FIGURAS];
  5. private int numF=0;
  6. public void anyadeFigura(Object o){
  7. listaFiguras[numF++]= o;
  8.  
  9. }
  10. public void anyadeCirculo(Circulo c) {listaFiguras[numF++]= c;}
  11. public void anyadeTriangulo(Triangulo t) {listaFiguras[numF++]= t;}
  12.  
  13. public boolean equals (Object c){
  14.  //  GrupoFiguras lis=(GrupoFiguras) c;
  15.    boolean igual=false;
  16.  
  17.   for(int i=0;i<this.numF;i++){
  18.   for(int j=0;j<((GrupoFiguras)c).numF;j++){
  19.  
  20.       if(this.listaFiguras[i].equals(((GrupoFiguras)c).listaFiguras[j])){igual=true;}
  21.       else{igual=false;}
  22.    }}
  23.  
  24.   for(int i=0;i<((GrupoFiguras)c).numF;i++){
  25.   for(int j=0;j<this.numF;j++){
  26.       if(((GrupoFiguras)c).listaFiguras[i].equals(this.listaFiguras[j])){igual=true;}
  27.       else{igual=false;}
  28.    }}
  29.  
  30.  
  31.    if(igual==true) return true;
  32.  
  33.  
  34.    return false;
  35.  
  36.  
  37. }
  38. public String toString(){
  39. String s= "Circulos:";
  40.  
  41. for(int i = 0;i < numF; i++)
  42. if (listaFiguras[i] instanceof Circulo) s+="\n"+listaFiguras[i];
  43. s+= "\nTriangulos:";
  44.  
  45. for(int i = 0;i < numF; i++)
  46. if (listaFiguras[i] instanceof Triangulo)s+="\n"+listaFiguras[i];
  47. return s;}}
  48.  
  49.  
  50.  

Código
  1. public class UsoDeGrupoFiguras{
  2.  
  3. public static void main (String args[]){
  4.  
  5. GrupoFiguras g = new GrupoFiguras();
  6. g.anyadeCirculo(new Circulo(10,5,3.5));
  7. g.anyadeTriangulo(new Triangulo(10,5,6.5,32));
  8. g.anyadeTriangulo(new Triangulo(10,5,6.5,32));
  9.  
  10. GrupoFiguras g2 = new GrupoFiguras();
  11. g2.anyadeCirculo(new Circulo(10,5,3.6));
  12. g2.anyadeTriangulo(new Triangulo(10,5,6.5,32));
  13. g2.anyadeTriangulo(new Triangulo(10,5,6.5,32));
  14.  
  15. System.out.println(g.equals(g2));
  16.  
  17.  
  18. Triangulo tri=new Triangulo(10,5,7.5,32);
  19. Triangulo tri2=new Triangulo(10,5,6.5,32);
  20.  
  21. //System.out.println(tri.equals(tri2));
  22.  
  23.  
  24. Circulo cir=new Circulo(10,5,3.5);
  25. Circulo cir2=new Circulo(10,5,3.5);
  26.  
  27. //System.out.println(cir.equals(cir2));
  28.  
  29. //System.out.println(g);
  30. }
  31. }

Los equals de los triangulos y circulos me funcionan bien,pero a la hora de comparar los grupos de figuras me falla.
Esto es lo que deberia hacer :
Sobrescribe el metodo equals(Object) para las clases Circulo ,Triangulo y GrupoFiguras .       Para ello supondremos que dos figuras son
iguales si contienen exactamente los mismos valores en sus atributos, y
que dos grupos de figuras son iguales si contienen las mismas figuras sin
importar el orden ni la cantidad de veces que aparezcan. Prueba los metodos equals(Object) en UsoDeGrupoFiguras comparando objetos entre si.
Que ocurre si comparas figuras de tipos diferentes? Considera los cambios
que realizarias en los metodos anyadeCirculo, anyadeTriangulo y equals de la clase GrupoFiguras si los grupos de guras fueran conjuntos, es decir, sin elementos repetidos


El problema es que no se como comparar los grupos de figuras ya que como pueden estar en distinto orden compararia un triangulo con un circulo y al reves.

Lo que necesito esque solo compare triangulos con triangulos y circulos con circulos y que sean iguales.

Saludos y gracias
4  Programación / Scripting / [BASH] Ejecutar un script pasandole argumentos desde otro en: 5 Octubre 2014, 17:40 pm
Hola a todos,
Resulta que tengo un script que toma como argumento el pid de un proceso e
imprime por pantalla en formato de columnas el PID, PPID, ESTADO y COMANDO que ejecuta dicho proceso.

Es decir esto:

PID PPID ESTADO COMANDO
8900 8880 S bash

Y ahora lo que necesito es otro script que proporcione al script anterior todos los
PID de los procesos del sistema, para que imprima su información.

El primer script es este:

Código
  1.  
  2.    #!/bin/bash
  3.    #inf_process
  4.  
  5.    #echo -e "PID\tPPID\tESTADO\tCOMANDO\n"
  6.  
  7.    #awk '/^Pid/ { printf $1 } /PPid/ { print $1 } /State/ { printf $1 } /Name/ { printf $1 }' /proc/$1/status
  8.  
  9.  
  10.  
  11.    #awk '/^Pid/ { printf $2 } /PPid/ { print $2 } /State/ { printf $2 } /Name/ { printf $2 }' /proc/$1/status
  12.  
  13.    awk '/^Pid/ { printf $1}' /proc/$1/status
  14.    echo -en "\t"
  15.    awk '/PPid/ { printf $1}' /proc/$1/status
  16.    echo -en "\t"
  17.    awk '/State/ { printf $1}' /proc/$1/status
  18.    echo -en "\t"
  19.    awk '/Name/ { print $1}' /proc/$1/status
  20.  
  21.    awk '/^Pid/ { printf  $2}' /proc/$1/status
  22.    echo -en "\t"
  23.    awk '/PPid/ { printf  $2}' /proc/$1/status
  24.    echo -en "\t"
  25.    awk '/State/ { printf  $2}' /proc/$1/status
  26.    echo -en "\t"
  27.    awk '/Name/ { print  $2}' /proc/$1/status
  28.  
  29.  


Alguna idea de como hacer el otro.
La unica forma que se me ocurre es obtener del comando ps los PID ,almacenarlos en un array ,recorre el array e ir ejecutando el primer script pasandole el PID,pero no se si esto se puede hacer en los script.

Saludos y Gracias
5  Programación / Programación C/C++ / Re: Sobre argv en: 28 Septiembre 2014, 20:00 pm
Gracias a todos ya funciona perfectamente :)
6  Programación / Programación C/C++ / Sobre argv en: 28 Septiembre 2014, 18:00 pm
Hola a todos,estoy empezando a programar con C y bueno ,aunque son ejercicios fáciles estoy teniendo unos problemas a ver si me podéis ayudar.

Resulta que tengo que según los parámetros de llamada al programa mostrar unas opciones es decir:

$./opciones -c
deberá mostrar:
Argumento 1 es Compilar

$./opciones -c -E
deberá mostrar:
Argumento 1 es Compilar
Argumento 2 es Preprocesar

Tengo esto:

Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[]) {
  4.  
  5.     int i=1;
  6.     char e;
  7.     for(i=1;i<argc;i++){
  8.     e=argv[i][1];
  9.    // printf("%c\n",argv[i][1]);
  10.     if(e=="c")
  11.      printf("Argumento %d es Compilar \n",i);
  12.     if(e=="E")
  13.      printf("Argumento %d es Preprocesar \n",i);
  14.  
  15.  
  16.     }
  17.  
  18.  
  19. }

Pero me da error al compilar:

Código
  1. opciones.c: In function ‘main’:
  2. opciones.c:10:10: warning: comparison between pointer and integer [enabled by default]
  3.      if(e=="c")
  4.          ^
  5. opciones.c:12:10: warning: comparison between pointer and integer [enabled by default]
  6.      if(e=="E")
  7.          ^

¿Alguna idea?

Saludos y Gracias



Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines