Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - overxfl0w13

#21
Te salen todas las sumas porque el print está dentro de tu bucle, la respuesta de MCKSys es la correcta.
#22
Dudas Generales / Re: Estudios FP
26 Octubre 2012, 19:17 PM
Tengo un par de compañeros en mi clase (ingeniería informática) que creo que hicieron lo mismo que tú, solo les han convalidado programación y en análisis matemático, física y discretas van más perdidos que la ostia.

Por eso te aconsejo que te pienses bien hacer fp para hacer un grado posteriormente. Antes si que creo que convalidaban más asignaturas pero ahora con el grado..

Ante todo tu opinión va por delante de la mia, y respecto a tu pregunta, creo que del DAM saldrás sabiendo programar "algo" pero si le pones interés y mucha dedicación no tendrás problemas para hacer el grado y sacarte lo que quieras.

#23
Java / Re: No encuentro el fallo.
20 Octubre 2012, 00:49 AM
Cita de: Darhius en 20 Octubre 2012, 00:15 AM
Error de capa 8 :P

NullPointerException  es ocasionado porque tratas de ingresar a un indice que no existe en el arreglo.

Saludos.

Jaja si error mio sé que es, pero no entiendo porque no existe el índice si la variable alturaAlumnos la declaro como un array de tamaño indefinido y en la pedida de datos le señalo el índice con la variable indexArray que tiene valor 0 en la primera vuelta del bucle.

Saludos y gracias Darhius :)

PD: Ya está, he probado a definir un tamaño en la definición del array, así si funciona.

Codigo nuevo:

Código (java) [Seleccionar]
import java.util.*;
public class array0301
{
   private double[] alturaAlumnos;
   private double alturaMedia,alturaCero;
   private int indexArray,contadorEntradas;
   private Scanner entradaTeclado;
   
   public array0301()
   {
       this.contadorEntradas = 0;
       this.alturaCero = 0;
       this.alturaAlumnos = new double[1000];
       this.alturaMedia = 0;
       this.indexArray = 0;
       this.entradaTeclado = new Scanner(System.in).useLocale(Locale.US);
   }
   
   public void setAlturas()
   {
       while(entradaTeclado.hasNext())
       {
           if(entradaTeclado.hasNextDouble())
           {
               alturaAlumnos[indexArray] = entradaTeclado.nextDouble();
               indexArray += 1;
               contadorEntradas += 1;
           }
           else break;
       }  
     
   }  
   public void getAlturas()
   {
       indexArray = 0;
       if(contadorEntradas == 0)
       {
           System.out.format(Locale.US,"La altura media de %d alumnos es de %.3f metros.",contadorEntradas,alturaCero);
       }
       else
       {
           while(indexArray <= contadorEntradas)
           {
               alturaMedia = alturaMedia + alturaAlumnos[indexArray];
               indexArray += 1;
           }    
           System.out.format(Locale.US,"La altura media de %d alumnos es de %.3f metros.",contadorEntradas,(alturaMedia / contadorEntradas));
       }
   }    
   public static void main(String args[])
   {
       array0301 p1 = new array0301();
       p1.setAlturas();
       p1.getAlturas();
   }    
}
#24
Java / No encuentro el fallo.
19 Octubre 2012, 16:38 PM
Buenas compañeros, el code es el siguiente:

Código (java) [Seleccionar]
import java.util.*;
public class array0301
{
   private double[] alturaAlumnos;
   private double alturaMedia;
   private int indexArray;
   private Scanner entradaTeclado;
   
   public array0301()
   {
       this.alturaMedia = 0;
       this.indexArray = 0;
       this.entradaTeclado = new Scanner(System.in);
   }
   
   public void setAlturas()
   {
       while(entradaTeclado.hasNext())
       {
           if(entradaTeclado.hasNextDouble())
           {
               alturaAlumnos[indexArray] = entradaTeclado.nextDouble();
               indexArray += 1;
           }
       }
   }  
   public void getAlturas()
   {
       indexArray = 0;
       while(indexArray <= alturaAlumnos.length)
       {
           alturaMedia = alturaMedia + alturaAlumnos[indexArray];
           indexArray += 1;
       }
       System.out.format("La altura media de %d alumnos es de %.3f metros",alturaAlumnos.length,(alturaMedia / alturaAlumnos.length));
   }    
   public static void main(String args[])
   {
       array0301 p1 = new array0301();
       p1.setAlturas();
       p1.getAlturas();
   }    
}


El error que lanza es NullPointerException en las lineas 22 y 40 y no consigo saber por qué se produce.

Un saludo
#25
Lo más raro que me ha pasado fue el virus de la policia xD. No porque sea raro en si, pero me impresionó bastante poner a correr el pc y que saliese eso de golpe, me confié demasiado pensando que mis manos servian para no infectarme  ;-)
#26
Cita de: Caster en  6 Octubre 2012, 14:06 PM
Y se podria utilizar otro?, asi por ejemplo:

for (static int i = 0; i < count; ++i)
{
/* code */
}


Claro, con static estarías "aumentando" el ámbito de la variable.
#27
Cita de: Caster en  6 Octubre 2012, 12:30 PM
el ambito de una variable una variable automatica puede ser menor que una funcion? una instruccion por ejemplo:
for (auto int i = 5; i < count; ++i)
{
/* code */
}


Es decir, que el valor 5 para la variable solo valga para este bucle, no se si me explico, es que en el libro que estoy leyendo dice que si pero no da ningun ejemplo sobre como se puede utilizar de esta manera.

Saludos

http://c.conclase.net/curso/?cap=025

Ese modificador es aplicado por defecto si no se especifica ningún otro y si, es el correspondiente a todas las variables locales así que éstas desaparecen con la finalización del bloque.
#28
Programación C/C++ / Re: RETOS C++
5 Octubre 2012, 20:07 PM
RETO 14:

Código (cpp) [Seleccionar]

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(int argc, char *argv[])
{
    int numeroAleatorio,maximo;
    srand(time(NULL));
    for(int i=0;i<=15200;i++){
        numeroAleatorio = rand();
        if(numeroAleatorio > maximo) maximo = numeroAleatorio;
    }
    cout << "El aleatorio mayor es: " << maximo << endl;
    return 0;
}
#29
Cita de: Caster en  3 Octubre 2012, 17:58 PM
Pues el libro es Programacion en C de Byron Gottfried de la edicion Mc Graw Hill.

overfl0w13, por si lees esto, lo del alcance de las variables, varibles locales, globales, estaticas y eso que creo que es de lo que hablas es justo el tema siguiente en mi libro al de las funciones que estoy viendo ahora.

Saludos

Pues píllalo con ganas la cosa se pone interesante :)
#30
Cita de: rir3760 en  2 Octubre 2012, 15:55 PM
Eso es debido a que la declaración de una referencia:
Código (cpp) [Seleccionar]
void modificar(int &a) {
Y la reserva de memoria mediante "new":
Código (cpp) [Seleccionar]
int *a = new int(2);
Son parte del lenguaje C++ (pero no de C).

Un saludo

De todas formas el uso de punteros, las referencias y la reserva mediante new ha dicho que son puntos a tratar en próximos temas del libro que está siguiendo, nunca viene mal conocerlo :)