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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda a desarrollar un ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ayuda a desarrollar un ejercicio  (Leído 9,287 veces)
jugran28

Desconectado Desconectado

Mensajes: 14


Ver Perfil
ayuda a desarrollar un ejercicio
« en: 25 Mayo 2007, 20:21 pm »

hola amigos haber si alguien me da algun alcanace para desaarollar estos dos programitas  utilizando meotodos
1.- desarrollar un programa java o c# que me permita almacenar dos conjuntos a y b luego en un conjunto c hallar la union

2--desarrollar un programa java o c# que me permita almacenar dos conjuntos a y b luego en un conjunto c hallar la interseccion

espero sus respuesta



En línea

Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.322


Peace & Love


Ver Perfil WWW
Re: desarrollar programa
« Respuesta #1 en: 25 Mayo 2007, 20:34 pm »

Que tienes hasta ahora?


En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
jugran28

Desconectado Desconectado

Mensajes: 14


Ver Perfil
ayuda a desarrollar un ejercicio
« Respuesta #2 en: 28 Mayo 2007, 14:35 pm »

buenas amigos haber si alguien me puede ayudar adesarrolar este ejercicios me piden que almacen dos aray en un conjunto ay b luego en c me saklga el resultado de union e interseccion : por decir ingreso con el teclado A={2,3,4,6,9} y en B={3,5,6,1,8} y el resultado deberia salirme Union C= {3,6}y intersccion C={1,2,3,4,5,6,8,9} pues hice el codigo no me da lkos resultado haber si alguien me ayuda si por favor el dofigo esta echo en java saludos
 // programa conjuntos

package conjun;
import java.io.*;
public class claseconjunto {
   
   
    public static void main(String[] args)throws IOException {
            int A[] = new int[5];
            int B[] = new int[5];
            int C[] = new int[5];
       
        for(int i=0; i<5; i++)
        {
            System.out.println("Ingrese Valor en A["+i+"] = ");
            BufferedReader dato1 = new BufferedReader(new InputStreamReader(System.in));
            int X = Integer.valueOf(dato1.readLine().trim()).intValue();
            A = X;
        }
         for(int i=0; i<5; i++)
        {
            System.out.println("Ingrese Valor en B["+i+"] = ");
            BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
            int Y = Integer.valueOf(dato2.readLine().trim()).intValue();
            B = Y;
        }
        for(int i=0; i<5; i++)
        {
            C=A=B;
            System.out.println("C["+i+"] = A["+i+"]union A["+i+"] = "+C);
        }
    }
}

En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: ayuda a desarrollar un ejercicio
« Respuesta #3 en: 28 Mayo 2007, 20:48 pm »

1. Utiliza las etiquetas de codigo para marcar las fuentes de tu programa ().
2. Practica mas... tu logica no está muy bien que digamos.
3. Funciona!!!

Código:
// programa conjuntos
import java.io.*;
public class claseconjunto {
    public static void main(String[] args)throws IOException {
        int A[] = new int[5];
        int B[] = new int[5];
        int C[] = new int[600];
       
        for(int i=0; i<5; i++) {
            System.out.println("Ingrese Valor en A["+i+"] = ");
            BufferedReader dato1 = new BufferedReader(new InputStreamReader(System.in));
            int X = Integer.valueOf(dato1.readLine().trim()).intValue();
            A[i] = X;
        }
        for(int i=0; i<5; i++) {
            System.out.println("Ingrese Valor en B["+i+"] = ");
            BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
            int Y = Integer.valueOf(dato2.readLine().trim()).intValue();
            B[i] = Y;
        }
        for(int i=0, cont=0; i<5; i++)
            for(int j=0; j<5; j++)
                if(A[i]==B[j])
                    C[cont++]=A[i];
        System.out.println("La union de A y B es:");
        for(int i=0; i<10; i++)
            System.out.print(C[i]!=0 ? C[i] : "");
       
        for(int i=0; i<5; i++)
            C[i]=A[i];
        for(int i=0, cont=5; i<5; i++) {
            C[cont++]=B[i];
            for(int j=0; j<5; j++)
                if(C[j]==B[i])--cont;
        }
        System.out.println("La interseccion de A y B es:");
        for(int i=0; i<10; i++)
            System.out.print(C[i]!=0 ? C[i] : "");
    }
}

Saludos!!!

P.d. Este es de los programas más feos que he hecho, pero no tenia tiempo de hacer algo "profesional", no te quejes. Se puede mejorar al 100%.
En línea

jugran28

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: ayuda a desarrollar un ejercicio
« Respuesta #4 en: 30 Mayo 2007, 15:27 pm »

muchisimas gracias amigo la verdad anduve buscando este ejercicio por una semana  de verdad estoy muy agardecido
por favor si me puede dar algun coreo de mesenger para hacerles alguna consulta yaque recien estoy levando cursos de programacio POO
saludos juan grandes  felicitaciones amigo
En línea

jugran28

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: ayuda a desarrollar un ejercicio pero es utilizando metodos
« Respuesta #5 en: 30 Mayo 2007, 20:05 pm »


 amigo por favor me podrias decir como hacer la logica pero utilizadon metodos si el program corre pero haciendo con metodo es un embrollo
//metodos conjuntos
package proconjuntos;
import java.io.*;
public class calseconjun {
   
   
    static int  union (int A[], int B[], int C[]){
        int A[]= new int[5];
       int B[]= new int[5];
       int C[]= new int[5];
        for(int i=0, cont=0; i<5; i++)
            for(int j=0; j<5; j++)
                if(A==B[j])
                    C[cont++]=A;

            return C;
        }
    static int  interseccion (int A[], int B[], int C[]){
       int A[]= new int[5];
       int B[]= new int[5];
       int C[]= new int[5];
        for(int i=0; i<5; i++)
            C=A;
        for(int i=0, cont=5; i<5; i++)
            C[cont++]=B;
            for(int j=0; j<5; j++)
                if(C[j]==B)--cont;
            return C;
       }
   
    public static void main(String[] args)throws IOException {
       
        System.out.println("Ingrese la Opcion ");
        System.out.println("1. Calculo  Union ");
        System.out.println("2. Calculo Interseccion");
       
        System.out.println("Ingrese la Opción = ");
        BufferedReader dato1 = new BufferedReader(new InputStreamReader(System.in));
        int OP = Integer.valueOf(dato1.readLine().trim()).intValue();
        switch(OP)
        {
            case 1: {
                        for(int i=0;i<5;i++)
                        System.out.println("Ingrese el valor en A["+i+"] = ");
                        BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
                        double X = Double.valueOf(dato2.readLine().trim()).doubleValue();
                        A =X;
                        System.out.println("La union de A y B es:");
                        for(int i=0; i<10; i++)
                        System.out.print(C!=0 ? C : "");


                         break;
                    }
            case 2: {
                        for(int i=0;i<5;i++)
                       System.out.println("Ingrese el valor en B["+i+"] = ");
                        BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
                        double Y = Double.valueOf(dato2.readLine().trim()).doubleValue();
                        A =Y;
                        System.out.println("La interseccion de A y B es:");
                        for(int i=0; i<10; i++)
                        System.out.print(C!=0 ? C : "");

                       
                    }
            default:{
                        System.out.println("Valor no Valido");
                        break;
                    }
        }
     }
   
    }
   
En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: ayuda a desarrollar un ejercicio
« Respuesta #6 en: 1 Junio 2007, 22:32 pm »

Haber "amigo"...

Lo primero: estudia más, lee más... veo que tienes aun muuuuchas dudas en cuanto a la sintaxis de Java, la "idea" de la POO, la lógica de programación... igual, todos empezamos así.

Lo otro... cuando uno va publicar una respuesta o un nuevo post, existe un pequeño panel con un monton de imagenes, entre ellas con un numeral (#), que indica que lo que se ponga entre esas etiquetas es código... en ese orden de ideas, DEBES poner al código fuente de tus programas esa etiqueta... es fácil... te pido el favor que lo hagas, te lo pido de rodillas si quieres.

Ahora el código:

Código:
import java.io.*;

public class claseconjun {
static void union(int A[], int B[]) {
int C[] = new int[600];
for (int i = 0, cont = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
if (A[i] == B[j])
C[cont++] = A[i];
System.out.println("La union de A y B es:");
for (int i = 0; i < 10; i++)
System.out.print(C[i] != 0 ? C[i] + "" : "");

}

static void interseccion(int A[], int B[]) {
int C[] = new int[600];
for (int i = 0; i < 5; i++)
C[i] = A[i];
for (int i = 0, cont = 5; i < 5; i++) {
C[cont++] = B[i];
for (int j = 0; j < 5; j++)
if (C[j] == B[i])
--cont;
}
System.out.println("La interseccion de A y B es:");
for (int i = 0; i < 10; i++)
System.out.print(C[i] != 0 ? C[i] + "" : "");

}

public static void main(String[] args) throws IOException {
int A[] = new int[5];
int B[] = new int[5];
System.out.println("Ingrese la Opcion ");
System.out.println("1. Calculo  Union ");
System.out.println("2. Calculo Interseccion");

System.out.println("Ingrese la Opción = ");
BufferedReader dato1 = new BufferedReader(new InputStreamReader(
System.in));
int OP = Integer.valueOf(dato1.readLine().trim()).intValue();
switch (OP) {
case 1: {
for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en A[" + i + "] = ");
dato1 = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.valueOf(dato1.readLine().trim()).intValue();
A[i] = X;
}
for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en B[" + i + "] = ");
BufferedReader dato2 = new BufferedReader(
new InputStreamReader(System.in));
int Y = Integer.valueOf(dato2.readLine().trim()).intValue();
B[i] = Y;
}

union(A, B);

break;
}
case 2:
for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en A[" + i + "] = ");
dato1 = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.valueOf(dato1.readLine().trim()).intValue();
A[i] = X;
}
for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en B[" + i + "] = ");
BufferedReader dato2 = new BufferedReader(
new InputStreamReader(System.in));
int Y = Integer.valueOf(dato2.readLine().trim()).intValue();
B[i] = Y;
}
interseccion(A, B);
break;
default: {
System.out.println("Valor no Valido");
break;
}
}
}
}

Saludos!!!
En línea

marioly

Desconectado Desconectado

Mensajes: 239


http://marioly.hackerss.com


Ver Perfil WWW
Re: ayuda a desarrollar un ejercicio
« Respuesta #7 en: 4 Junio 2007, 13:24 pm »

Tantos for no te marean Casidiablo :huh: , demasiado code no ?  :-\ y ademas duplicas, que en java no es muy bueno.. (como al leer A y B 2 veces) y tiene cosas como:

int C = int[600] ;
Integer.valueOf(dato1.readLine().trim()).intValue();

 :o

Y en union muestra valores duplicados, que no creo que sea asi (por hacer A == B , pero no comprobar si ya existe en C)

Podria hacer:
Código:
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;


public class claseconjun {
static ArrayList listA = new ArrayList();
static ArrayList listB = new ArrayList();
static ArrayList listC = new ArrayList();

static void union() {

listA.trimToSize();
listB.trimToSize();

for( int i = 0; i < listA.size(); i++ )
if( listB.contains(listA.get(i)) && !listC.contains(listA.get(i)) )
listC.add(listA.get(i));

System.out.println("La union de A y B es:");

Iterator it = listC.iterator();
while( it.hasNext() )
System.out.print(it.next() + " ");
}

static void interseccion() {
listA.addAll(listB);
Collections.sort(listA);

System.out.println("La interseccion de A y B es:");

Iterator it = listA.iterator();
while( it.hasNext() )
System.out.print(it.next() + " ");
}

public static void main(String[] args) throws IOException {

System.out.println("Ingrese la Opcion ");
System.out.println("1. Calculo  Union ");
System.out.println("2. Calculo Interseccion");

System.out.println("Ingrese la Opción = ");
BufferedReader dato1 = new BufferedReader(new InputStreamReader(
System.in));
int OP = Integer.parseInt(dato1.readLine().trim());

for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en A[" + i + "] = ");
dato1 = new BufferedReader(new InputStreamReader(System.in));
Integer X = new Integer(Integer.parseInt(dato1.readLine().trim()));
listA.add(i, X);
}
for (int i = 0; i < 5; i++) {
System.out.println("Ingrese Valor en B[" + i + "] = ");
BufferedReader dato2 = new BufferedReader(
new InputStreamReader(System.in));
Integer Y = new Integer(Integer.parseInt(dato2.readLine().trim()));
listB.add(i, Y);
}

switch (OP) {
case 1:
union();
break;
case 2:
interseccion();
break;
default:
System.out.println("Valor no Valido");
break;
}
}
}

Java tiene una amplia coleccion de clases utiles, usala!  ;)

Citar
P.d. Este es de los programas más feos que he hecho, pero no tenia tiempo de hacer algo "profesional", no te quejes. Se puede mejorar al 100%.

No creo que sea cuestion de tiempo :P , de hecho ami no me llevo mucho hacer el mio :)

PD: Casidiablo , deberias tratar de tener un poco mas de empatia por los usuarios  :-\ ellos no te obligan a responder ..
En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: ayuda a desarrollar un ejercicio
« Respuesta #8 en: 4 Junio 2007, 17:04 pm »

HOAAAA!!!

marioly... pues

1. Con respecto a lo de los for... ummm, pues la verdad odio tener que poner tantos, de verdad, me encanta tener un programa lo más corto y limpio posible,
2. "Java tiene una amplia colección de clases útiles, usala!", esta me hace gracia... NO soy un gurú en Java, pero conozco bastante acerca de los paquetes y clases "útiles" en Java.
3. "No creo que sea cuestion de tiempo , de hecho ami no me llevo mucho hacer el mio ", cuando hablo de cuestión de tiempo no me refiero a 3 - 5 minutos, estoy hablando de 50 segundos que tienes entre acabar una tarea en el trabajo, y que tu jefe llegue a madrearte.
4. "deberias tratar de tener un poco mas de empatia por los usuarios  undecided ellos no te obligan a responder ..", no, si eso lo se de sobra, solo que la primera vez se dice de buena manera (en la primera respuesta), luego ya significa que te toman del pelo. Está bien ser nuevo, pero si ya se ha avisado una vez, porqué seguirse saltando las normas.
5. Tu código está mal, la intersección NO hace lo que debe hacer.
6. Ahora sí, con la mente relajada, y 6 minutos más de tiempo, aquí está el código FUNCIONAL, bonito, profesional... bueno, aún se puede mejorar, de eso no me queda la menor duda:

Código:
import java.io.*;
import java.util.*;
import javax.swing.*;
public class claseconjunto {
    static ArrayList listA = new ArrayList();
    static ArrayList listB = new ArrayList();
    static ArrayList listC = new ArrayList();
   
    static void imprimirC(String x) {
        String resultado="La "+x+" de A y B es:\n";
        Iterator it = listC.iterator();
        while( it.hasNext() )
            resultado+=it.next() + " ";
        JOptionPane.showMessageDialog(null,resultado);
    }
    static void union() {
        listA.trimToSize();
        listB.trimToSize();
        for( int i = 0; i < listA.size(); i++ )
            if( listB.contains(listA.get(i)) && !listC.contains(listA.get(i)) )
                listC.add(listA.get(i));
        imprimirC("union");
    }
   
    static void interseccion() {
        listA.addAll(listB);
        Collections.sort(listA);
        Iterator it = listA.iterator();
        Object temp = null, sig = null;
        while( it.hasNext() ) {
            sig=it.next();
            if(sig!=temp) {
                temp=sig;
                listC.add(sig);
            }
        }
        imprimirC("interseccion");
    }
   
    public static void main(String[] args) throws IOException {
        int OP = Integer.parseInt(JOptionPane.showInputDialog(null,"1. Calculo Union\n2. Calculo Interseccion\n\nDigita la opcion"));
        for (int i = 0; i < 5; i++)
            listA.add(i, Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese Valor en A[" + i + "] = ")));
        for (int i = 0; i < 5; i++)
            listB.add(i, Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese Valor en B[" + i + "] = ")));
        switch (OP) {
            case 1:
                union();
                break;
            case 2:
                interseccion();
                break;
            default:
                System.out.println("Valor no Valido");
                break;
        }
    }
}

7. Muchas gracias por los consejos, de verdad, aprecio tu preocupación por mi ;)

Saludos profe!!!
En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: ayuda a desarrollar un ejercicio
« Respuesta #9 en: 4 Junio 2007, 18:27 pm »

Con respecto a la empatía con los usuarios demasiada ha tenido Casidiablo, porque yo le iba a remitir directamente a las normas, no sólo el usuario sigue sin poner las etiquetas de código y pidiendo que le hagamos su tarea (esto no son dudas sobre java, sino sobre un programa concreto), sino que además ha insistido con otros posts, sin leer las normas, etc.

También dudo que este usuario algún día ayude a resolver la duda de otro, la gente que quiere todo hecho y ni se molesta en mirar las normas no tiende a mirar las dudas de otros y mucho menos responderlas. Por eso hay que ser duro para que la gente no insista en estas conductas.


Con respecto a mirar las clases de java, la interfaz set (conjunto) ya está implementada en varias clases:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html
La unión es addAll y la intersección es retainAll, así que no hacía falta más.
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda para desarrollar una Aplicación Movil de la universidad
Android
jose_e 1 4,868 Último mensaje 22 Diciembre 2011, 23:59 pm
por Graphixx
Troyano: desarrollar servidor.
Análisis y Diseño de Malware
kiriost 0 2,098 Último mensaje 22 Marzo 2012, 03:26 am
por kiriost
que mas puedo desarrollar con C?
Programación C/C++
;c1v!c 3 2,618 Último mensaje 22 Agosto 2012, 18:33 pm
por 0xDani
desarrollar de un framework web de un ejemplo que sea basico
Desarrollo Web
Navidad2 2 1,996 Último mensaje 9 Noviembre 2012, 20:10 pm
por Navidad2
ayuda para comencar a desarrollar paginas web
Desarrollo Web
urielros 2 3,002 Último mensaje 7 Abril 2021, 10:57 am
por ThePetic
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines