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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 [305] 306 307 308 309 310 311
3041  Programación / Programación C/C++ / Re: Codigo de asignacion de memoria: Peor Ajuste en: 15 Marzo 2011, 14:46 pm
Básicamente, si quitas lo dicho, "todo" se reduce a un problema de vectores, si.

Sobre lo de las estructuras... Puedes utilizas structs, o no, o las mil opciones que se te puedan ocurrir.

No voy a dar ejemplos porque si los doy, te resuelvo la tarea, y no es mi intención. Que discurras y la resuelvas tu, si.

Creo que el propio "peor ajuste" en su definición y descripción te da ya todos los "tips" para implementarlo. Por ello, te sigo diciendo, revísate la teoría de tu asignatura de Sistemas Operativos.

sabia que lo tenias resuelto desde el princpio!!

vale listo, le seguire porque pues que más puedo (como he estado haciendo en estos días.

Una vez lo tenga vectores me puedes pasar el dato en struct, yo no es para la clase, sino por curisiosidad, ni idea de structs (por lo menos no una muy clara).
3042  Programación / Programación C/C++ / Re: Codigo de asignacion de memoria: Peor Ajuste en: 15 Marzo 2011, 14:12 pm
Parece que falla más el hecho de entender lo que se te plantea que otra cosa. Quizá deberías revisar a fondo la asignación de memoria por peor ajuste. Recalco que lo que parece estar fallando es la algoritmia (planteamiento del problema).

Por otro lado, como pequeño consejo, puede que te sirva el utilizar alguna clase de conjunto de estructuras donde tengas, por ejemplo, donde empieza cada partición libre y cuantos bloques libres ocupa dicha partición.

ummm dejando a un lado los mensajes de salida y todos los adornos, todo se reduce a un problemas de arreglos??

ummm cuando mencionas lo de las estructuras, como seria?? no soy muy entendido en struct??

pero practicamente el cuento son con 5 posiciones de particiones, y 5 de tareas... no tienes algun tip de ordenamiento para el caso de peor ajuste??
3043  Programación / Java / Que hay de raro en este codigo JFrame?? [Solucionado] en: 15 Marzo 2011, 13:13 pm
Es extraño, me encontre con este codigo, y no funciona, me pregunto porque no sirve?

Código:
package javaapplication2;

import java.awt.*;
import javax.swing.*;

public class Main extends JFrame
{
    
    public void Window()
    {
        this.setSize(400,500);
        this.setTitle("Primer Aplicacion Swing");
        this.setVisible(true);
    }

    public static void main(String []args)
    {
        Window();

        JFrame jFrameWindow = new JFrame();

        jFrameWindow.setSize(400,500);
        /* se puede sustituir  por pack() para
         * que java calcule automaticamente el tama\~no
         * que necesita.
         */
        jFrameWindow.setTitle("Segunda Aplicacion Swing");
        jFrameWindow.setVisible(true);
    }


}
3044  Programación / Programación C/C++ / Re: Ayuda!!! Libreria graficas para juego en: 15 Marzo 2011, 12:48 pm
BURLAS?!?!?!? viejo hiciste que me avergonzara del pacman que hice y del sokoban que tenia trabajando hace tiempo. Y se puede hacer eso en c++??? de momento solo se que en juegos, se han hecho los emuladores de SNES (SNES9x, ZNES) y uno de Nintendo 64, y varios juegos hentai con C++!!

como se hace?? ojala sacaran programas así en la tele!! viejo, muy buen beta. Si me enseñaras seria genial, grandioso, a falta de mejor palabras.

Pero el Sprite de ese Zero, nahhh yo usaria el de X4 o el de X3. jaja son solo gustos.

De verdad se puede hacer eso C++?? alguien sabe?? no creo que sea como un metodo burbuja o hacer una pila o cola

y pensar que yo me enorgullecia de mi PacMan (un asco por cierto)

Puedes dejar el dato?? o no es open source??
3045  Programación / Programación C/C++ / Re: ¿Qué compilador usar para C y C++? en: 15 Marzo 2011, 12:43 pm
Ambos son compiladores, ambos te van a pasar programas de código a ejecutable, pero el dev-C++ lleva años sin actualizarse, y está obsoleto. Por otro lado, el GCC (GNU Compiler Collection) es el compilador libre y opensource por "defecto" utilizado en linux y que está en constante desarrollo.

Si usas code::blocks, instálate la versión que viene con MinGW si estás en windows, o directamente usa el GCC desde la consola si estás en linux.

Hoy en día utilizar Dev-C++ frente a GCC no tiene mucho sentido (Dado el tiempo que el primero ha quedado tal cual y el segundo ha seguido moviendose). Lo mismo con otros compiladores como, si no me equivoco, Borland C (otro obsoleto).

ooohh!! no tenia ese dato sobre de Dev!!! claro que yo utilizo el WxDev-C++, pero acabo de ver la página (un año sin actualizar!!!)

ohhh después de unos trabajos pendientes que tengo urgente me pongo a probar Visual y GCC.

Buenos datos. Que más pueden recomendar y porque?
3046  Programación / Programación C/C++ / Codigo de asignacion de memoria: Peor Ajuste en: 15 Marzo 2011, 12:38 pm
Buenas las tengan.

Se que no hacen "trabajos ni tareas" pero estoy atorado con un ejercicio, y la verdad es que se que es un detalle, uno con el que no puedo dar, por favor, denme una mano.

Se trata sobre un código con arreglos en el que debo entregar unos cuadros al usuario en donde se reasignen las tareas y se entregen las particiones con una fragmentación de memoria más alta, comprobando el concepto de "Peor Ajuste" al código, en particiones fijas.

Les agradezco, esto es lo que he adelantado:

El principal
Código:
#include <iostream>
#include <stdio.h>
#include <D:\Camilo\Unilibre\Quinto Semestre\Sistemas Operativos\Ejercicios\Primer Corte\particionfija.h>

/*
    MANUEL CAMILO CEPEDA MARTINEZ 066091006
    ERIKA CALDAS CODIGO 066062003
    PARTICION FIJA PEOR AJUSTE - VERSION 1.0
    SISTEMAS OPERATIVOS
    UNIVERSIDAD LIBRE DE COLOMBIA
*/

using namespace std;

int main(){
    
        int opcion;
        
            
        //MENU DE BIENVENIDA  
        printf("\t\t BIENVENIDO: ");    
        printf("OPCIONES \n\n");
        printf("\t 1.    PARTICION FIJA  \n");
        printf("\t 2.    SALIDA   \n\n");
        printf("digite una de las opciones: ");
        scanf( "%i", &opcion);
        
        switch (opcion){
            
            case 1:
                printf("PARTICION FIJA \n\n");
                printf("NO HAY RELOCALIZACION \n\n");
                partFija();
                break;
            
            case 2:
                printf("adios!!!! buen dia!!!");
                getchar();
                break;
                
            default:
                printf("ERROR DIGITANDO DATOS, EL PROGRAMA ESTALLARA!! ARRGHHH!!\n\n");
                getchar();
                break;
        }
        
        getchar();  
        return EXIT_SUCCESS;
}

La libreria de la particion fija que debe entregar el peor ajuste
Código:
void partFija();

void partFija(){
 
         int t[5];
         int p[5]={20,15,20,10,30};
         int contador=30;
         printf("HOLA!!\n\n");
        
         //IMAGEN DE PARTICIONES
         printf("\n\n");
         printf("PARTICION FIJA      MEDIDA       LOCALIZACION\n");
         printf("-------------------   0\n");
         printf("|        SO       | \n");
         printf("-------------------   30             %i\n", contador);
         for(int i=0; i<5; i++){
            contador += p[i];    
            printf("|        p%i       | \n", i+1);
            printf("-------------------   %i             %i\n", p[i], contador);
         }

        
          //INGRESO DE TAREAS
         printf("5 TAREAS MAXIMO \n\n");
         for(int i=0; i<5; i++){
            printf("TAREA %i:  ", i+1); scanf( "%i", &t[i]);
         }
        
        
         //INGRESO DE TAREAS EN PARTICIONES
         contador=30;
         printf("\n\n");
         printf("PARTICION FIJA      MEDIDA       LOCALIZACION\n");
         printf("-------------------   0\n");
         printf("|        SO       | \n");
         printf("-------------------   30             %i\n", contador);
         for(int i=0; i<5; i++){  
            if(t[i]==0){
                contador += p[i];
                printf("|        p%i       | \n", i+1);
                printf("|   ***********   | \n");
                printf("|     LIBRE: %i    | \n", p[i]);
                printf("-------------------   %i             %i\n", p[i], contador);
            }
            else{
                contador += p[i];    
                printf("|        p%i       | \n", i+1);
                printf("|   ***********   | \n");
                printf("|     Frag: %i    | \n", p[i]-t[i]);
                printf("-------------------   %i             %i\n", p[i], contador);
            }
         }
        
         //PEOR AJUSTE
        
        
        
        
         do{
                contador=30;
                fflush(stdin);
                printf("\n\nQUE TAREA DESEA ELIMINAR??  \n (Digite solo el numero de la tarea)  ");
                int borrar; scanf( "%i", &borrar);
                if(borrar == 1)
                    t[0]=0;
                else if(borrar == 2)
                    t[1]=0;
                else if(borrar == 3)
                    t[2]=0;
                else if(borrar == 4)
                    t[3]=0;
                else if(borrar == 5)
                    t[4]=0;
                    
                
                printf("PARTICION FIJA      MEDIDA       LOCALIZACION\n");                    
                printf("-------------------   0\n");
                printf("|        SO       | \n");
                printf("-------------------   30             %i\n", contador);
                
                for(int i=0; i<5; i++){
                      
                        //IMAGEN DE PARTICIONES FIJAS CON TAREA RETIRADA
                        if(t[i]==0){
                            contador += p[i];
                            printf("|        p%i       | \n", i+1);
                            printf("|   ***********   | \n");
                            printf("|     LIBRE: %i    | \n", p[i]);
                            printf("-------------------   %i             %i\n", p[i], contador);
                        }
                        else{    
                            contador += p[i];
                            printf("|        p%i       | \n", i+1);
                            printf("|   ***********   | \n");
                            printf("|     Frag: %i    | \n", p[i]-t[i]);
                            printf("-------------------   %i             %i\n", p[i], contador);
                        }
                    
                 }
                
                 //El programa pregunta si quiere continuar
                 char opc;
                 fflush(stdin);
                 printf("\n\n\nDESEA RETIRAR OTRA TAREA?? (S/N) ");
                 scanf("%c", &opc);
                 if(opc=='n' or opc=='N')
                    break;
                
         }while(true);
         getchar();
                
}

La verdad es que no doy con el truco para reasignar las tareas de manera indicicada.

3047  Foros Generales / Foro Libre / Los Premios Darwin en: 9 Marzo 2011, 16:51 pm


BIENVENIDOS A LOS PREMIOS MÁS ABSURDOS!!

AQUELLOS QUE COMPROMETEN LA VERDADERA CONDICIÓN HUMANA:

LA ESTUPIDEZ!!




vamos a ver que nos dice la kacapedia:


Un Premio Darwin es un premio irónico que toma su nombre del creador de la teoría de la evolución Charles Darwin. Se basa en el supuesto de que la humanidad mejora genéticamente cuando ciertas personas sufren accidentes, muertes o esterilizaciones por un error absurdo o un descuido.1 Se desechan los bulos, las leyendas urbanas o historias inventadas para recibir el premio, sólo se admiten historias que hayan ocurrido realmente.2

Los Premios Darwin se conceden, generalmente de forma póstuma, al individuo o individuos que se elimina del acervo genético de la manera más espectacular. Sin embargo, hay una excepción respecto a la condición de que deben morirse para recibir el premio. Si un individuo no muere, pero queda incapaz de tener hijos tendría la posibilidad de recibir el "premio honorífico" mientras aún esté vivo.

Este curioso premio ha motivado la publicación de varios libros y una película dirigida por Finn Taylor titulada The Darwin Awards (2006).




no nos estiremos cierto...

ahora, que tienen de interesantes estos premios:

(cita desde http://personales.ya.com/rodrigodiaz/darwin.htm)

Los Premios Darwin se conceden, generalmente póstumamente, al individuo(s) que se elimina del acervo genético de la manera más espectacular. Sin embargo hay una excepción a la condición de morirse. Si un individuo no muere, pero queda incapaz de tener hijos sería elegible para el dudoso honor de recibir el premio mientras aún esté vivo.



--------------------------------------




Requisitos para ganar el premio

Se han establecido 5 requisitos:

---PUEDEN CONSULTAR LA CACAPEDIA PARA MÁS INFORMACIÓN---


"Imposibilidad de reproducción"

"Asombrosa falta de sensatez."

"Autoselección"
Causar la muerte de uno mismo.

"Madurez"
La persona debe estar en su sano juicio.
El candidato debe tener la edad legal para conducir y no padecer retraso mental.

"Veracidad"
El acontecimiento debe ser verificado.


----------------------------------

VAMOS CON LO BUENO:

Los ejemplo de ser un apice, un ejemplo, todo un paradigma de lo que se conoce como un autentico darwinista (y hay quienes dicen que la evolución no existe, pues que admiren la ESTUPIDEZ que puede alcanzar la humanidad).

Entre los ganadores de los Darwin Awards se encuentran:




1) Malabarismo con granadas de mano (Croacia, 2001).
2) Dejar un cigarrillo encendido en un almacén lleno de explosivos (Filipinas, 1999).
3) Saltar de un avión para grabar a paracaidistas sin haberse puesto el paracaídas (Estados Unidos, 1987).

4) Intentar obtener suficiente luz para mirar por el cañón de una pistola de avancarga cargado utilizando un mechero (Estados Unidos, 1996).
5) Iluminar un depósito de combustible usando un mechero para comprobar si contiene algún elemento inflamable (Brasil, 2003).
6) Intentar jugar a la ruleta rusa con una pistola semiautomática que carga automáticamente el siguiente cartucho en la recámara.
7) jugar a la ruleta rusa con una mina terrestre.
8) Chocar contra una ventana y caer intentando demostrar que el cristal de la misma era irrompible.

9) En 2007, el ganador fue "The Enema Within", según la cual un hombre murió por intoxicación etílica después de haberse introducido dos botellas de 1.5 litros de jerez por vía anal.


------------------------------

ahora dejo otros ejemplos dignos de ser recordados (y para nuestro agradable conocimiento, son todos una hermosa gracia).



mención honorífica: fue concedida a dos hombres que intentaron robar en la casa del futbolista Duncan Ferguson (que había sido juzgado 4 veces por asalto y había estado seis meses en la cárcel Barlinnie de Glasgow) en 2001, uno de los rateros tuvo que estar 3 días hospitalizado tras el violento enfrentamiento con el jugador.

Ganador del Darwin 1995: El Premio Darwin 1995 se concedió a un hombre que fue aplastado hasta morir por una máquina de Cola de la que intentaba sacar un refresco gratis. ¿Porqué es esto tan extraordinario? Al parecer, según la policía e informes del depósito de cadáveres, el caballero en cuestión tenía aproximadamente 3 $ en monedas y aproximadamente 25 $ en billetes en su bolsillo.

Robert Puelo, de 32 años de edad, estaba al parecer causando problemas en un mercado de San Luis. Cuando el dependiente amenazó con llamar a policía, Puelo cogió un perrito caliente, lo introdujo dentro de su boca, y se alejó sin pagar.

La Policía lo encontró inconsciente delante de la tienda: los médicos sacaron una Vienesa de seis pulgadas (15 cm.) de su garganta, donde le había ahogado hasta producirle la muerte.


PACIENTE SE MATA ENCENDIENDO UN CIGARRILLO, Un paciente de un hospital provocó una explosión cuando se quitó su máscara de oxígeno para encender un cigarrillo, decía una noticia ayer.

Ronald Eynon, de 50 años de edad, que murió después de recibir graves quemaduras, había sido admitido en el Hospital Príncipe Philip, Llanelli, con una dolencia de pulmón. El médico anotó en el dictamen fallecimiento por desgracia.



------------------------



hay muchos muchisimos!!!

este es el GANADOR del 2010:




(25 de agosto de 2010, Daejon, Corea del Sur), un incapacitado, furioso al ver como un elevador se le encierra en frente, arremete y embiste su pequeña moto contra la puerta del ascensor, no una, ni dos, sino tres veces!! ---SOLO PARA CAER SIN PROBLEMAS-- al ahora cuarto vacio donde estaba el elevador!! cayendo y encontrando su muerte. Muriendo y ganandose el apodo para un hombre de 40 años de: "el furioso hombre sobre ruedas" ("Angry Wheelchair Man"), y consiguiendo asi un lugar en el hall de la fama de LOS PREMIOS DARWIN.

La tragica caida de este furibundo y enojado corredor nos demuestra el perfecto ejemplo de lo brillante que puedes ser tu ---comparados con otras personas! Vemos, como es que la selección natural actua sobre algunos de nosotros, en algunos casos, de manera especialmente dura. Las autoridades explicaron que las puertas de los elevadores no estan hechas para resistir impactos tan prolongados e intensos (como los que puede provocar una motoneta).

De cualquier manera, se han hecho arreglos y mejoras en la seguridad del mismo, todo para prevenir esta clase de accidentes (que pueden ocurrir tanto con niños como con borrachos...y darwinistas).




LES DEJO EL VIDEO PARA SU DELEITE:

[swf=http://www.youtube.com/v/TI7FZ8RG4Rg]
link: http://www.youtube.com/watch?v=TI7FZ8RG4Rg

INCREIBLE VERDAD??

NAHHHH, CON TANTO IMBECIL EN ESTE PLANETA, SE VEN MUCHOS CASOS DE ESTE TIPO, PERO DEBEMOS RENDIRLE
 UN HOMENAJE MUY ESPECIAL A ESTE MUERTO. POR ENSEÑARNOS DE MANERA MUY EXPLICITA DE COMO NO COMPORTARNOS ANTE UNA TRIVIALIDAD.

Tal vez deje otros datos, depende de si les gusta, y si apoyan y dejan algún comentario, tal vez otro nominado, no creen??
3048  Programación / Programación C/C++ / Re: Ayuda para comparar una cadena con el nombre de una variable int en: 7 Marzo 2011, 11:54 am
"const" proviene de ser constante es decir
al declararselo a una variable no podra ser modificado a lo largo del programa
"strncasecmp" es una de las tantas funciones que se usan con la libreria string.h y como dije antes compara los caracteres
a diferencia del strcmp que compara el contenido de la cadena completa
cadena s2 "nada"
si la cadena s1 tiene "el_foro_es_mi_mejor_prof"
con strncasecmp compara el ó foro ó es y asi... hasta encontrar similitud
con strcmp compara
s1 "el_foro_es_mi_mejor_prof"
s2 "nada"
luego de la comparacion devuelve un valor en el caso de la igualdad devuelve 0

investiga un poco usa google sale TODO  ;D
ó descargate un libro digital de los que hay en el foro
sin necesidad de buscar mucho http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html  :-\
AHORA a realizar codigos y poco a poco iras corrigiendo errores y aprendiendo mas ::)

por lo que entiendo, de todas maneras no me hubiera servido de mucho, pero como dije, me invente otra forma y ya supere lo del codigo, viejo, ahora tengo otra pregunta, sera mejor hacer otro post, pues es sobre otro tema, sobre como invocar otro metodo (partFija) como si fuera un archivo aparte, es decir, crear otro .cpp, y funcionara de la siguiente manera:

1) Solo main, invocando las funciones partFija y partDinamica
2) otro .cpp con la función partFija
3) otro. cpp con la función partDinamica

La verdad es que no se hacerlo, bueno, se que puedo hacerlo como libreria, haciendo un <include ....partFija.h>, pero puedo llamarlo como si fuera .cpp??
3049  Programación / Programación C/C++ / Re: Ayuda para comparar una cadena con el nombre de una variable int en: 7 Marzo 2011, 03:52 am
int strcmp(const char *s1, const char *s2) -- Compara las dos cadenas de caracteres s1 y s2.
pero si lo que quieres es descubrir si "el nombre de la variable entera" se encuentra en la cadena utiliza la funcion strncasecmp compara los primeros n caracteres de s1
(const char *s1, const char *s2, size_t n) ← algo asi, nose si eso te ayude o es lo que buscas  :-\

pues lo solucione de otra forma, pero te importaria explicar mejor ese tema??

es decir, parece que manejas bien esto, no puedes explicar un poco más todo esto, y de paso, explicarme unas cosas con el printf, scanf, gets y sobre las clases y muchas más dudas??

strncasecmp?? const char?? men, eso es avanzado para mi, cuentame más men!!!
3050  Programación / Programación C/C++ / Re: Ayuda para comparar una cadena con el nombre de una variable int en: 6 Marzo 2011, 16:43 pm
Buenas,
Código
  1. if(t1= atoi(t_borrar)){
  2.                    t1=0;
  3.                }

si pones una asignación en la condición del if, se va a cumplir siempre. Además si t_borrar sólo la usas para compararla con enteros ¿por qué no la declaras cómo un entero? así te ahorras los atoi.

Saludos!

Ah vale, siempre da true.

Pero como le hago para la comparación??

Un ejemplo, necesito borrar (igualar a cero) una tarea, puede ser t2. y quiero que pregunte,

que tarea desea borrar??? t2

quiero que capture esa cadena "t2" con el nombre de la variable t2 (no su valor), y ahora si, igualar el valor de t2 = 0.

Como le hago??

no se como puedo ser más claro y aclarar la duda, ayudenme.


--------------------------

na, ya no importa, ya lo solucione con otro modo.

Bueno, nos vemos.

si quieren saber que hice, fue preguntar de otra forma

Código:
fflush(stdin);
                printf("\n\nQUE TAREA DESEA ELIMINAR??  \n (Digite solo el numero de la tarea)  ");
                int borrar; scanf( "%i", &borrar);
                if(borrar == 1)
                    t[0]=0;
                else if(borrar == 2)
                    t[1]=0;
                else if(borrar == 3)
                    t[2]=0;
                else if(borrar == 4)
                    t[3]=0;
                else if(borrar == 5)
                    t[4]=0;
Páginas: 1 ... 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 [305] 306 307 308 309 310 311
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines