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 - n-utz

#141
Windows / Re: [DUDA] Windows 10
27 Agosto 2016, 21:32 PM
IOs, Linux u otros sistemas operativos no tienen procesos en segundo plano, son más controlados?.

Sabía como ver los procesos en ejecución pero de ahí a saber para qué sirve cada uno es otra cosa, voy a buscar más info, grax.
#142
Windows / [DUDA] Windows 10
27 Agosto 2016, 17:33 PM
Buenas, vengo con una duda simple, a fin de informarme mas sobre el SO que utilizo, Windows 10, últimamente leo muchos comentarios de que trabaja con procesos en segundo planos que no debería, o bien "hace lo que quiere", ¿a qué se refieren con eso, en qué está fallando para que sea óptimo o eficiente?.

Leo muchos anti windows, pero pocos me fundamentan el por qué, por eso me dirijo hacia ustedes. Busco encariñarme con los open source, ayudenme.
#143
Programación C/C++ / Re: [C] Duda TATETI
26 Agosto 2016, 20:07 PM
Buenisimo, gracias gente! Le propuse lo de la IA al profesor y me dijo que nada más debía hacerlo con random pero lo voy a hacer como me aconsejaron ustedes, así se hace entretenido!
#144
Programación C/C++ / [C] Duda TATETI
25 Agosto 2016, 03:50 AM
Buenas noches gente! Vengo con una duda, me pidieron hacer un trabajo práctico de un TATETI en C, hasta ahí vamos bien, nada dificil salvo hacer bien la estructura del juego que tengo pensado hacerla con *, acepto ideas.

Pero el problema viene con que la consigna dice que el juego debe estar preparado para jugar JUGADOR VS JUGADOR o JUGADOR VS COMPUTADORA. JvsJ lo tengo cocinado, justamente porque es pensar la estructura nada más, pero ahora en JvsC, ¿como hago?, es decir tengo que analizar las jugadas para que intente ganar la computadora, al menos lo veo así, lo hago con IF´s? estoy algo perdido.
Esa es una opción, otra seria que la PC ponga sus simbolos al azar, que tampoco sé como hacer para que elija al azar, y no sería muy divertido jaja.

Espero sus ideas, gracias!
#145
Seguridad / Re: Nueva encuesta: Mejor Antivirus
20 Agosto 2016, 19:18 PM
Sé poco y nada de los antivirus y como trabajan, siempre termino usando AVG free, es el que menos problemas me ha traído.

Pero estaba buscando un cambio, sigue siendo AVG el antivirus gratuito de garantía? por lo que vi el Kaspersky es pago, se puede conseguir licencia?

Ahora estoy con el que vino por defecto en Windows 10, McAfee, que opinan de este?
#146
Hardware / Laptop DELL, se queda pegada
20 Agosto 2016, 19:06 PM
Buenas, verán les informo de mi problema, hace 4 días que mi laptop se queda tildada o pegada al ejecutar un juego, mientras no ejecute ese juego, a decir verdad es el único que tengo y relaciono el problema con las aplicaciones "pesadas" que requieren de muchos recursos, no se me tilda, aunque la noto tal vez un poco lenta.

El tildado es brusco, es decir no puedo ejecutar nada, ni administrador de tareas, ni cerrar sesión ni nada, la pc deja de responder hasta las teclas de FN. Lo que hago al suceder esto es apagarla.

Es una DELL Inspirion 5558, con Windows 10, un i7 y 6 de RAM.

La verdad es que no tengo idea de dónde puede venir el problema, pero por lo menos quiero averiguarlo por mi cuenta para evitar llevarla a servicio técnico.

Lo único que hice fue formatearla por completo, ayer y sigue igual.

Cualquier ayuda que me puedan brindar se las agradezco, haré las pruebas que me pidan y si precisan alguna información solo postéenlo.

Muchas gracias!
#147
Gracias Ivancea!! No era más que el problema de no inicializar el array en 0, simplemente por el hecho de que viene cargados de 0, me confié y ese era el problema.

Muchas gracias por todo!

PD: Acabo de entregar el TP ::)
#148
Mira, si sucede todo en la funcion CARGAR, no todos las posiciones saldrán con valor, si no las que yo elija, ingreso por teclado la nota y después la posición del array en la cuál se guardara.

La basura surge, en el muestreo del array en el "main", una vez que lo cargo, al imprimirlo me imprime cualquier numero.

Lo que pasa que es mi funcion "principal" si la anulo el programa no hace nada, pero esa es la problematica si.

Lo raro es que cuando agregue las funciones que agregué a lo ultimo NO toque nada de esa función, por eso no puedo encontrar el error, porque lógicamente no habría.

Te pongo el código devuelta, igualmente si lo había puesto con el código GeSHi.

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

void carga(float al[], int x);
int ausentes(float al[], int x);
int presentes(float al[], int x);
int promociones(float al[], int x);
int aprobados(float al[], int x);
int desaprobados(float al[], int x);
float promedio(float al[], int x);
float max(float al[], int x);
float min(float al[], int x);

int main()
{
   int j, cantmax=0, cantmin=0;
   float alumnos[5], notamax=0, notamin=0;

   carga(alumnos,5);

   for(j=1;j<5;j++){
       printf("Alumno %d\t Nota %.2f\n",j,alumnos[j]);
   }

   printf("Cantidad de AUSENTES: %d\n",ausentes(alumnos,5));
   printf("Cantidad de PRESENTES: %d\n",presentes(alumnos,5));
   printf("Cantidad de PROMOCIONADOS: %d (Nota mayor o igual a 7)\n",promociones(alumnos,5));
   printf("Cantidad de APROBADOS: %d (Nota entre 4 y 7)\n",aprobados(alumnos,5));
   printf("Cantidad de DESAPROBADOS: %d\n", desaprobados(alumnos,5));
   printf("PROMEDIO: %.2f\n", promedio(alumnos,5));

   notamax=max(alumnos,5);
   notamin=min(alumnos,5);
   for(j=1;j<5;j++){
       if(alumnos[j]=notamax)
           cantmax+=1;
   }
   for(j=1;j<5;j++){
       if(alumnos[j]=notamin)
           cantmin+=1;
   }
   printf("NOTA MAXIMA: %.2f\tCantidad de alumnos con nota maxima:%d\n",notamax,cantmax);
   printf("NOTA MINIMA: %.2f\tCantidad de alumnos con nota minima:%d\n",notamin,cantmin);

   return 0;
}


void carga(float al[], int x){   //CARGA DE NOTAS

   int i, trunca=0;
   float nota=0, verif, resul=0;
   bool vof=false;
   al[x];

   while(nota>=0){
       nroal:
       printf("\nIngrese la nota a inscribir ");
       scanf("%f", &nota);
       printf("\nIngrese el numero de alumno a modificar ");
       scanf("%d", &i);

       if(nota>=1){            //PURGA DE NOTA INVALIDA Y CORRECCION DE DECIMALES
           while(nota>10){
               printf("\nNota erronea, vuelva a ingresar ");
               scanf("%f", &nota);
           }
           trunca=nota;
           resul=nota-trunca;
           if(resul>0 && resul<0.25){
               nota=trunca+0.25;}
           if(resul>0.25 && resul<0.5){
               nota=trunca+0.5;}
           if(resul>0.5 && resul<0.75){
               nota=trunca+0.75;}
           if(resul>0.75 && resul<=0.99){
               nota=trunca+1;}
           resul=0;
           trunca=0;

           }
           else if(nota<0){    //NOTA NEGATIVA
               break;
           }

       while(i>x || i<0){             //VERIFICACION ALUMNO
           printf("\nError en el numero de alumno, vuelva a ingresar ");
           scanf("%d", &i);
       }
       verif=al[i];
       if(verif>=1){           //VERIFICACION DE CARGA DE NOTA
           printf("\nEl alumno ya tiene inscripta la nota: %.2f", verif);
               goto nroal;
           }else{
       al[i]=nota;}

   }
}

float max(float al[], int x){
   int i;
   float maxima=0;

   for(i=1;i<5;i++){
       if(al[i]>maxima)
           maxima=al[i];
   }
   return maxima;
   }

float min(float al[], int x){
   int i;
   float minima=11;

   for(i=1;i<5;i++){
       if(al[i]>0.1 && al[i]<minima)
           minima=al[i];
   }
   return minima;
}


Miren acorté el código A, la función main (razones obvias), la función "problemática" y las funciones que agregué a partir de las cuáles empezó el problema.

Con respecto a lo del GOTO, sé que no es recomendable, pero este trabajo práctico como se darán cuenta es algo largo y lo estoy haciendo a las apuradas, lo usé para salir del apuro.
#149
Buenas noches, estoy trabajando con el IDE CodeBlocks y me resulto un problema.

Estaba por terminar el trabajo práctico, agregue dos funciones sencillas, el programa andaba a la perfección, cuando termino de agregarlas corro el programa y empieza a imprimir basura, revisé todo 20 veces, anulé lo agregado, no toque otra cosa mientras lo agregaba y ahora no me deja de imprimir basura.

Cerré el programa, volví a abrirlo, copié el código en un nuevo proyecto y aún así continúa haciendolo. No le encuentro la lógica, pienso que es un error del IDE en sí pero no sé como solucionarlo.

¿Alguna idea?

Dejo el código por las dudas, lo agregado fue todo lo relacionado a las notas maxima y minima, ya sea los "for" en el main y las funciones.

Citar#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

void carga(float al[], int x);
int ausentes(float al[], int x);
int presentes(float al[], int x);
int promociones(float al[], int x);
int aprobados(float al[], int x);
int desaprobados(float al[], int x);
float promedio(float al[], int x);
float max(float al[], int x);
float min(float al[], int x);

int main()
{
   int j, cantmax=0, cantmin=0;
   float alumnos[5], notamax=0, notamin=0;

   carga(alumnos,5);

   for(j=1;j<5;j++){
       printf("Alumno %d\t Nota %.2f\n",j,alumnos[j]);
   }

   printf("Cantidad de AUSENTES: %d\n",ausentes(alumnos,5));
   printf("Cantidad de PRESENTES: %d\n",presentes(alumnos,5));
   printf("Cantidad de PROMOCIONADOS: %d (Nota mayor o igual a 7)\n",promociones(alumnos,5));
   printf("Cantidad de APROBADOS: %d (Nota entre 4 y 7)\n",aprobados(alumnos,5));
   printf("Cantidad de DESAPROBADOS: %d\n", desaprobados(alumnos,5));
   printf("PROMEDIO: %.2f\n", promedio(alumnos,5));

   notamax=max(alumnos,5);
   notamin=min(alumnos,5);
   for(j=0;j<5;j++){
       if(alumnos[j]=notamax)
           cantmax+=1;
   }
   for(j=0;j<5;j++){
       if(alumnos[j]=notamin)
           cantmin+=1;
   }
   printf("NOTA MAXIMA: %.2f\tCantidad de alumnos con nota maxima:%d",notamax,cantmax);
   printf("NOTA MINIMA: %.2f\tCantidad de alumnos con nota minima:%d",notamin,cantmin);

   return 0;
}


void carga(float al[], int x){   //CARGA DE NOTAS

   int i, trunca=0;
   float nota=0, verif, resul=0;
   bool vof=false;
   al
  • ;

       while(nota>=0){
           nroal:
           printf("\nIngrese la nota a inscribir ");
           scanf("%f", &nota);
           printf("\nIngrese el numero de alumno a modificar ");
           scanf("%d", &i);

           if(nota>=1){            //PURGA DE NOTA INVALIDA Y CORRECCION DE DECIMALES
               while(nota>10){
                   printf("\nNota erronea, vuelva a ingresar ");
                   scanf("%f", &nota);
               }
               trunca=nota;
               resul=nota-trunca;
               if(resul>0 && resul<0.25){
                   nota=trunca+0.25;}
               if(resul>0.25 && resul<0.5){
                   nota=trunca+0.5;}
               if(resul>0.5 && resul<0.75){
                   nota=trunca+0.75;}
               if(resul>0.75 && resul<=0.99){
                   nota=trunca+1;}
               resul=0;
               trunca=0;

               }
               else if(nota<0){    //NOTA NEGATIVA
                   break;
               }

           while(i>x || i<0){             //VERIFICACION ALUMNO
               printf("\nError en el numero de alumno, vuelva a ingresar ");
               scanf("%d", &i);
           }
           verif=al;
           if(verif>=1){           //VERIFICACION DE CARGA DE NOTA
               printf("\nEl alumno ya tiene inscripta la nota: %.2f", verif);
                   goto nroal;
               }else{

           al=nota;}

       }
    }

    int ausentes(float al[], int x){    //CONTADOR DE AUSENTES
       int i, contador=0;

       for(i=1;i<x;i++){
           if(al<1)
               contador+=1;
       }
       return contador;
       }

    int presentes(float al[], int x){   //CONTADOR DE PRESENTES
       int i, contador=0;

       for(i=1;i<x;i++){
           if(al>0.1)
               contador+=1;
       }
       return contador;
       }

    int promociones(float al[], int x){ //CONTADOR DE PROMOCIONES
       int i, contador=0;

       for(i=1;i<x;i++){
           if(al>=7)
               contador+=1;
       }
       return contador;
       }

    int aprobados(float al[], int x){   //CONTADOR DE APROBADOS
       int i, contador=0;

       for(i=1;i<5;i++){
           if(al>=4 && al<7)
               contador+=1;
       }
       return contador;

       }

    int desaprobados(float al[], int x){    //CONTADOR DE DESAPROBADOS
       int i, contador=0;

       for(i=1;i<5;i++){
           if(al>0.1 && al<4)
               contador+=1;
       }
       return contador;
    }

    float promedio(float al[], int x){  //CALCULA PROMEDIO
       int i;
       float suma=0;

       for(i=1;i<5;i++){
           suma+=al;
       }
       return (suma/4);
       }


    float max(float al[], int x){
       int i;
       float maxima=0;

       for(i=1;i<5;i++){
           if(al>maxima)
               maxima=al;
       }
       return maxima;
       }

    float min(float al[], int x){
       int i;
       float minima=11;

       for(i=1;i<5;i++){
           if(al>0.1 && al<minima)
               minima=al;
       }
       return minima;
    }
LA IMPRESIÓN DE BASURA SE DA EN: "//VERIFICACION DE CARGA DE NOTA". Esa parte no fue modificada desde que andaba.

¿Por qué en ese apartado?, pues cuando ingresaba una nota a un alumno que ya tenía cargada la nota, me saltaba error, mostraba la nota que ya estaba ingresada y volvia a pedir nota para otro alumno.
Ahora a la primera que quiero cargar una nota para el alumno 1, que no tiene nada me dice que ya tiene una nota registrada que es 0.000565657....

EDITADO: La BASURA la imprime en TODAS las cargas de nota.
#150
Cita de: AlbertoBSD en  8 Agosto 2016, 00:45 AM
No se como te enseñaron a usar los arreglos pero si es un arreglo de 5 elementos debes de procesar solo los datos del indice 0 al 4

Cuenta conmigo

Indice 0 y llevamos 1
Indice 1 y llevamos 2
Indice 2 y llevamos 3
Indice 3 y llevamos 4
Indice 4 y llevamos 5


Deberia de ser algo asi, El detalle que al momento de escribir en el espacio alumnos[5], realmente estas escribiendo en el espacio designado para otra de las variables, se llama bufferoverflow y se da cuando escribes fuera de los limites de un arreglo.


Deberia de quedar algo asi:


int main(){

int aus;

aus = ausentes(alumnos,5);

}

int ausentes(float al, int x){
   int i, contador=0;

   for(i=0;i<x;i++){
       printf("Alumno %d: %.2f\n", i, al[i]);
       if(al[i]==0){
           contador+=1;
       }
   }
   printf("%d", contador);
   return contador;
   }


Perfecto, si me lo han ensenado asi, lo que pasa que me desconcerte yo. Al ser "Alumnos" y el numero de indice ser el numero de alumno, quise obviar el elemento 0, como verán, pero me olvide de que el ultimo elemento seria el 4.

Gracias che!