1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

Ayuda Ayuda con este algoritmo

Tema en 'Java' comenzado por fsistem, 14 de Marzo de 2015.

  1. fsistem

    fsistem Nuevo Miembro

    Se incorporó:
    14 de Marzo de 2015
    Mensajes:
    1
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    1. Crear una listas (a) de (n) Nodos con datos enteros que contenga números positivos y negativos pedidos desde el teclado.
    2. Dividir la lista en dos nuevas listas una (b) con los numeros positivos y una (c) con los numeros negativos.
    3. Imprimir el contenido de las listas, la (a) antes del proceso de división y las (b y c) después del proceso de división.
    hasta ahora llevo esto

    import java.util.Scanner;
    public class Principal {

    public static void main(String[] args) {
    Nodo b=null,a=null,c=null,d=null;
    Scanner entrada = new Scanner(System.in);

    int nnodo;

    System.out.println("Digite N° nodo");
    nnodo= entrada.nextInt();

    for(int i=1 ; i<=nnodo ; i++){


    a = new Nodo(entrada.nextInt(),a);



    }

    System.out.println("Lista Original");
    b = a;

    while(b!=null){
    System.out.print(b.getDato()+" ");
    b = b.getSig();

    }


    }
     
  2. Briaares

    Briaares Nuevo Miembro

    Se incorporó:
    8 de Enero de 2015
    Mensajes:
    26
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    Código (Text):
    #include <stdio.h>
        int main (){
            int nodos,positivos=0,negativos=0,i=0;
            scanf("%d",&nodos);  //Escaneo la cantidad de nodos que tendra el conjunto A.
            int vector[nodos];  //Creo el vector con N casillas leidas en nodos.
            while(i<nodos){
                scanf("%d",&vector[i]);  //Lleno el conjunto A con los nodos.
                if(vector[i]>0){
                    positivos++;  //Cuento cuantos positivos hay.
                }
                if(vector[i]<0){
                    negativos++; //Cuento cuantos negativos hay.
                }
                i++;
            }
            i=0;
            int contp=0,contn=0;   //Creo contadores para los datos positivos y los negativos.
            int b[positivos],c[negativos];  //Creo los otros 2 vectores con el numero exacto de sus respectivos para ahorrar memoria.
            while(i<nodos){
                if(vector[i]>0){
                    b[contp]=vector[i];  //Aqui asigno los valores positivos.
                    contp++;
                }
                if(vector[i]<0){
                    c[contn]=vector[i]; //Aqui asigno los valores negativos.
                    contn++;
                }
                i++;
            }
            i=0;
            while(i<nodos){
                printf("A: %d\n",vector[i]);
                i++;
            }
            printf("\n\n");
            i=0;
            while(i<positivos){
                printf("B: %d\n",b[i]);   //Imprimo el conjunto B.
                i++;
            }
            printf("\n\n");
            i=0;
            while(i<negativos){
                printf("C: %d\n",c[i]);   //Imprimo el conjunto C.
                i++;
            }
        }
    Mmmm en Java la verdad estoy un poco oxidado, hace mucho que no programo en Java, pero en C++ si lo tengo, si quieres mira el algoritmo y traducelo a Java n.n
     

Comparte esta página