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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Java / [ayuda]Llenar un vector apartir de 2 que cree en: 27 Julio 2015, 03:04 am
Hola amigos estoy estudiando vectores para tratar de entenderles mejor pero me he atorado mi problema es (Imprimir la serie 1,5,3,7,5,9,7,11 ) ya se que este problema se puede hacer sin vectores pero quiero hacerlo con vectores =). ya tengo practicamente todo tengo tengo 3 vectores 1 donde se guardara la serie, 1 donde me imprime los numeros (1,3,5,..,n) y 1 vector donde imprime los num (5,7,9,..,n) y aqui viene mi problema quiero juntar esos 2 vectores para que los imprima en 1 solo pero que imprima en este orden
EJEMPLO
VEC1 = 1 3 5 7
VEC2 = 5 7 9 11
SERIE = 1 5 3 7 5 9 7 11  // ocea que me imprima primero la pos 0 del vec1 y luego la pos 0 del vec2 y asi sucesivamente, he intentado varias cosas pero ninguna me funciona. me pueden ayudar porfavor.
Mi codigo es este:

public class Serie {
    public static void main(String[] args) {
     Scanner en = new Scanner(System.in);
     System.out.print("Ingresa el valor de la serie: ");
     int n = en.nextInt();
    
    int veco[] = new int[n];
    int conPar =0,conImp=0;

 //FUNCION QUE ME DICE SI ES PAR O NO
       public static boolean pi(int n ){
        if(n %2 == 0){
            return true;
        }else {
            return false;
        }
    }
  
//SE IMPRIME EL PRIMER ARREGLO SIN LA SERIE

    System.out.println("Arreglo primario");
    for (int i=0; i<n ; i++){
        veco [ i ]=i;
         System.out.print("\t"+veco [ i ]);
//SI ES PAR EL SE INCREMENTA UN CONTADOR PARA LOS PARES
        if(pi(i)){
            conPar++;
        }else {
//SI ES IMPAR EL SE INCREMENTA UN CONTADOR PARA LOS IMPARES
            conImp++;
        }
    }
// ARREGLOS VEC1, VEC2
     int par[] = new int[conPar];
     int imp[] = new int[conImp];
     //llenado arreglos auxiliares
    System.out.println("\ntArreglo pares");
   int aux1=1;
    for(int i = 0; i< conPar;i++){
         par [ i ] = aux1;
         aux1 +=2;
           System.out.println(par [ i ]);
//este arreglo contiene los valores 1,3,5,7,..,n
     }
    System.out.println("Arreglo imp");
    int aux=5;
    for(int i = 0; i< conImp;i++){
        
        imp [ i ] = aux;
        aux+=2;
        
          System.out.println(imp [ i ]);

//este arreglo contiene los valores 5,7,9,11,..,n
     }

//aqui es donde mi programa truena :S que es donde trato de juntar los 2 arreglos //y que me imprima la pos0 del arreglo 1 y despues la pos0 del arreglo 2   y asi //susesivamente
  
  //llenado del arreglo final
 
    for (int i =0 ; i< veco.length;i++){
                if(pi(veco [ i ])){
                veco [ i ] = par [ i ];
               } else{
                veco [ i ] = imp [ i ];
               }
       //lo que intento hacer es mientras la posicion del vector veco sea par  me //imprima lo que esta en el arreglo de par[] y si la pos del vector veco es impar //que me imprima lo que esta en el arreglo de imp[]  a si lo pense ya que la pos 0 //es par entonces imp el valor 1 del vector par, despues es impar ahora imprimira //el valor 5 del vector impar, y asi se seguia la pos2 es par entonces imprimira 3, //la pos3 es impar entonces imprimira 7 :S pero me da error    
     }
// aqui ya se imprime la serie :S pero no imprimira nada por que estoy mal en el llenado del arreglo final :C  
          
       //Mostrando el arreglo final
     for (int i = 0; i < n; i++){
            System.out.println("vector("+i +")="+veco[ i ]);
        }
    }
        
}

Porfavor, porfavor :S no entiendo como llenar ese arreglo y solo me falta eso :S de antemano muchisismas gracias cualquier comentario , critica constructiva es aceptada contal de mejorar =)
2  Programación / Programación C/C++ / Ayuda!! numeros aleatorios con apuntadores en: 4 Marzo 2015, 03:46 am
Hola amigos otra ves yo molestando y pidiendo su ayuda ya que no entiendo por que me muestra 0 (ya genere los numeros aleatorios con srand,y en la funcion longitud los leo pero en todas las ejecuciones de mi programa sale 0 ):S es un programa que te genera una cadena de num aleatorios y de ahi te cuenta cuantos numeros se generaron. Disculpen las faltas de ortografia espero me puedan orientar por que no entiendo  muy bien este tema :S gracias de antemano
Código
  1. void generacad(int **cadena)
  2. {
  3. int tam,i;
  4. srand(time(NULL));
  5. tam=rand()%361;
  6. *cadena=(int *)malloc(sizeof(int)*tam);
  7.  
  8. for(i=0;i<tam;i++)
  9. {
  10. *(*cadena+i)=rand()%2;
  11. }
  12. }
  13. int Longitud(int *cadena)
  14. {
  15. int i;
  16. for(i=0;*(cadena+i)!='\0';i++)
  17. {
  18. return(i);
  19. }
  20. }
  21. int main()
  22. {
  23. int *cadena;
  24. generacad(&cadena);
  25. printf("La longitud de la cadena es: %d", Longitud(cadena));
  26. getch();
  27. }
  28.  
3  Programación / Programación C/C++ / [Ayuda]Serie [(1/1)/(1/2)*(1/3)/(1/4)*...*/(1/n)] en: 21 Febrero 2015, 08:34 am
Hola amigos me presento soy nuevo en el foro estudio bachillerato y me empeso a gustar esto no soy muy bueno ya que no entiendo muy muy bien :s y estoy estudiando con un libro Piensa en c Mi duda viene siendo la siguiente empese a hacer los problemas todo bien hasta que llegue con esta serie :S Un programa antes me hice la serie de [(1/1)+(1/2)+(1/3) +...+1/n] y esa todo bien pero con esta me atore ya que no entiendo muy muy bien a un los ciclos anidados queria si ver si me pueden orientar como le hago Mi unico codigo que tengo es este

Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4. float n=0,mul=0,div=0,resultado=0;
  5. printf("Ingrese el numero que quieres calcular de la serie: ");
  6. scanf("%f",&n);
  7. if (n == 0){
  8. printf("Error no existe la divicion entre 0");
  9. }
  10. else
  11. {
  12. for (int i=1;i<=n;i+=2)
  13. {
  14. printf("(1/%d) / \t",i);
  15. //AQUI ES DONDE SOLO QUIERO QUE ME ORIENTEN PARA QUE ME MUESTRE
  16. //printf("(1/%d /1/%d) * ",i);
  17. //Y A SI ME //MUESTRE MI SERIE CON SUS PAREJAS =)
  18.  
  19. }
  20.  
  21.   }
  22. printf("\nEl resultado de tu serie es: %d",resultado);
  23. return 0;
  24.  
  25. }
  26.  

Solo obtengo (1/1 ,1/3,1/5,1/7) No se como obtener  los numeros pares que son (1/2, 1/4,1/6,1/8) y a si hasta que termine y despues juntarlos  para que pueda imprimir la serie [(1/1)/(1/2)*(1/3)/(1/4)*...*/(1/n)] Me pueden orientar si ocupo un contador mas o otro ciclo se los agradeceria bastante Muchas gracias
PD: Solo ocupo que me ayuden a mostrarlos en ese orden :S y ya de ahi  yo me guio para calcular la serie.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines