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 - 0xFer

#251
Cita de: SirLanceCC en 28 Marzo 2007, 00:35 AM
Bueno eso yo lo hago así de sencillo:

FILE *archivo = fopen("documento.txt", "r"); //Abrimos el archivo
long int tamano; //variable para almacenar el tamaño del archivo

fseek(archivo,0,SEEK_END); //Nos vamos el final del archivo
tamano = ftell(archivo); //Averiaguamos nuestra posición en el archivo con ftell. Y como estamos al final, nos dirá el peso.


saludos
#252
Si tu problema está al comparar los números te recomiendo leer: http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
#253
Pues una variable que guarde la cantidad de articulos a comprar:


  int cantidad;
  scanf("%d",&cantidad);
 
  //luego para calcular la factura
  if( ProductoAComprar == MARTILLO)
      factura = PRECIO_MARTILLO * cantidad;
  else if(ProductoAComprar == CLAVOS)
      factura = PRECIO_CLAVOS * cantidad;
   .
   .
   .



Debes crear constantes

#define MARTILLO 1
#define CLAVOS    2
.
.
.

#define PRECIO_MARTILLO 35
#define PRECIO_CLAVO      1
.
.
.


para decirle al usuario el producto que quiere comprar:


  printf("\n1.- martillo....$35");
  printf("\n2.- clavos....$1 c/u");
  printf("\n3.- pinzas....$60");
  printf("\n4.- desarmadores cr/pal....$15");
  printf("\n5.- tornillos....$2c/u");
  printf("\n6.- cerrucho....$87");
  printf("\n7.- cegueta....$60");
  printf("\n8.- Escoga la cantidad de articulos:");
  int ProductoAComprar;
  scanf("%d",ProductoAComprar);


si se quiere comprar un martillo se ingresa 1, si se quiere comprar una cegueta se ingresa 7..etc..
#254
el !encontrado está diciendole a while que se ejecute si encontrado == false  cuando encontrado == true el bucle termina.
#255
Java / Re: Casting de arrays
20 Noviembre 2015, 02:57 AM
No sé si se pueda hacer el cast de manera directa así como pretende hacer tu código, lo que si puedes hacer es convertir cada uno de los elementos del arreglo, por ejemplo:

Código (java) [Seleccionar]


int[] ArregloInt =new byte[] {123, 12, 87};
byte[] ArregloByte = new int[ArregloInt.length];

// converción de cada elemento
for (int i = 0; i <ArregloByte.length; ArregloByte[i] = ArregloInt[i++] );


Ten cuidado cuando conviertas int a byte porque un byte ocupa 8 bits mientras que un int puede ocupar más, si valor del int que quieras convertir no puede ser contenida en 8 bits entonces el int convertido a byte tendrá un valor digamos que "extraño" porque se puede tomar los bits más significativos o menos significativos dependiendo de la arquitectura de tu computadora.

en el ejemplo que te mostré no hay problema porque los valores 123,12 y 87 pueden ser almacenados en 8 bits, es decir, en 1 byte.
#256
Lo que estas imprimiento no es un elemento de v sino una simple cadena de texto  debería ser:

Código (cpp) [Seleccionar]
cout << v[i] << " ";
#257
Java / Re: [Ayuda] Problema con Array Bidimensional
9 Noviembre 2015, 15:46 PM
Para iniciar todos los valores tendrías que hacerlo así:

Código (java) [Seleccionar]

for(int i = 0; i < nombres.length;i++)
   mayor[i] = -1;


Haces lo mismo con menor[]. por cierto en las últimas lineas de tu código:

Código (java) [Seleccionar]

System.out.println("Mayor nota ingresada de la clase del alumno "+ nombreMayor + " " + mayor[f]);
System.out.println("Menor nota ingresada de la clase del alumno "+ nombreMenor + " " + menor[f])


Lo que haces es imprimir la nota más alta pero del último alumno. Antes de eso tendrías que ver cuál nota( de entre las mejores notas obtenidas por los alumnos) es la mayor así;

Código (java) [Seleccionar]

int notaMayorEntreNAlumnos = 0;
for(int i = 0; i < nombres.length;i++){
  if( notaMayorEntreNAlumnos < mayor[i] )
      notaMayorEntreNAlumnos = mayor[i];
}


Si sólo te interesa saber cúal es la nota más alta de entre todas las calificaciones obtenidas(y la más baja) pues no es neccesario utilizar arreglos, sólo basta con declarar una variable que guarde la nota mayor y menor, eso es lo que estás intentando hacer no? Conocer sólo la nota más alta( y más baja) y saber el alumno que la obtuvo
#258
Java / Re: [Ayuda] Problema con Array Bidimensional
9 Noviembre 2015, 03:16 AM
No puedes tener dos variables con el mismo nombre, ¿Cuál estás utilizando? para saber, por ejemplo, la nota más alta de los n alumnos entonces debes recorrer los arreglos donde se guardan las notas mayores de cada alumno:

Código (java) [Seleccionar]

int notaMayorEntreNAlumnos = 0;
for(int i = 0; i < nombres.length;i++){
   if( notaMayorEntreNAlumnos < mayor[i] )
       notaMayorEntreNAlumnos = mayor[i];
}


Creo que así puedes conocer la nota mayor de cada alumno y la nota mayor de entre todas las notas obtenidas por los alumnos. sería lo mismo para conocer la nota menor.

Edito: Te salen estos resultados(4orotro [I@68f7aae2 y null [I@4f47d241) creo que porque no has iniciado los valores de los 2 arreglos que te creaste, o sea todos los mayores deben ir a -1 y los menores 101. Disculpa mi lentitud, la verdad no me siento bien en estos momentos.
#259
Java / Re: [Ayuda] Problema con Array Bidimensional
9 Noviembre 2015, 01:44 AM
Como ahora es un arreglo sería mayor[f] y menor[f], pero recuerda iniciar todos los elementos del arreglo.
#260
Java / Re: [Ayuda] Problema con Array Bidimensional
9 Noviembre 2015, 00:48 AM
También debes crear dos arreglos para guardar las notas mayores y menores de cada alumno:

Código (java) [Seleccionar]

int[] mayor = new int[nombres.length];
int[] menor = new int[ nombres.length];

for (f = 0; f < nombres.length; f++) {  //
           for (a = 0; a < not1[f].length; a++) {
               if (not1[f][a] > mayor) {
                   mayor[f] = not1[f][a];
                   nombreMayor = nombres[f];
               } else if (not1[f][a] < menor) {
                   menor[f] = not1[f][a];
                   nombreMenor = nombres[f];
               }
           }         
       }


así puedes saber las notas mayores y menores de los alumnos