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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  algoritmos de decker
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: algoritmos de decker  (Leído 4,906 veces)
include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
algoritmos de decker
« en: 28 Septiembre 2012, 07:51 am »

compañeros necesito de su ayuda  :-( no se como programar los algoritmos de decker...del 1 al 4 tienen errores es decir se me tienen que bloquear pero no logro hacerlos y el 5to si me tiene q funcionar pero no le entiendo  :( alguien que me ayude por favor... se lo agradecería mucho...

esto es lo que tengo...
Algoritmo No. 1
Código:
#include <conio.h>
#include <iostream.h>
void proceso1();
void proceso2();
void regionCritica(int turno);
int turno;
  int pid;
int main()
{
  turno = 1;
  proceso1();
  proceso2();
  system("pause");
  return 0; 
}
void proceso1()
{
          while(true)
          {
           cout <<"proceso 1 entrando a region critica....\n";
           while(turno == 2)
           {
           }
            cout<<"Proceso 1 esta en region critica...\n";
            regionCritica(turno);
            turno = 2;
            cout << "Proceso 1 saliendo de region critica...\n\n\n";
          }           
}
void proceso2()
{
          while(true)
          {
           cout <<"Proceso 2 entrando a region Critica";
           while(turno == 1)
           {
           }
           cout <<"Proceso 2 dentro de region critica...\n";
           regionCritica(turno);
           turno = 1;
           cout << "Proceso 2 saliendo de region critica...\n\n\n";
          }
}
void regionCritica(int turno)
{
     int temp;
     temp = turno;
     cout<<temp++<<"\n\n";
}



Algoritmo No. 2
Código:
#include <conio.h>
#include <iostream.h>
#include <windows.h>
void regionCritica();
void Proceso1();
void Proceso2();
bool bandera_proceso1,bandera_proceso2;

int main()
{
  bandera_proceso1 = false;
  bandera_proceso2 = false;
  Proceso1();
  Proceso2();
  return 0;
}

void Proceso1()
{
     while(true)
     {
      cout <<"Entrando region Critica proceso1\n";
      bandera_proceso1 = true;
      while(bandera_proceso2)
      {
      }
      cout <<"Proceso1 esta en region Critica\n";
      //system("pause");
      regionCritica();
      bandera_proceso1 = false;
      cout <<"Proceso1 saliendo de region Critica\n";
     }
}

void Proceso2()
{
     while(true)
     {
      cout <<"Proceso2 entrando a region Critica\n";
      bandera_proceso2 = true;
      while(bandera_proceso1)
      {
      }
      cout<<"Proceso2 Esta en region Critica\n";
      //system("pause");
      regionCritica();
      bandera_proceso2 = false;
      cout <<"Proceso2 saliendo de region Critica\n";
     }
}
void regionCritica()
{
     int temp=0;
     cout<<temp++<<endl<<endl;
     Sleep(3000);
}



Gracias por cualquier ayuda...


En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
n0z

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: algoritmos de decker
« Respuesta #1 en: 28 Septiembre 2012, 14:57 pm »

El algoritmo 1:

Cuando lo ejecutas, supongo que se te quedara en un bucle infinito, ya que la función proceso1(): Tienes el while(true) y en el main la variable turno = 1, entonces nunca entraría en el segundo while, por lo que te mostrara continuamente "proceso 1 entrando a region critica"

¿Te pasa eso?





En línea

include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: algoritmos de decker
« Respuesta #2 en: 28 Septiembre 2012, 17:58 pm »

Gracias por responder N0Z y si me pasa eso que me dijiste, por eso digo que no se como arreglarlo  :( me cuesta C++...

aqui estan los 5 algoritmos de decker http://aprendiendo-software.blogspot.com/search/label/Algoritmo pero no se como programarlos ya lo probe todo y nada  :-(

Mil gracias por tu ayuda
« Última modificación: 28 Septiembre 2012, 18:01 pm por Anti_spam.exe » En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
n0z

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: algoritmos de decker
« Respuesta #3 en: 28 Septiembre 2012, 20:13 pm »

No se que conocimientos tienes de programación, pero yo no me pondría con programación concurrente antes de tener una buena base.

De todas maneras busca por google información sobre programación concurrente.
En línea

include ();

Desconectado Desconectado

Mensajes: 36


No seas envidioso, comparte lo que sabes... ;)


Ver Perfil
Re: algoritmos de decker
« Respuesta #4 en: 28 Septiembre 2012, 20:27 pm »

mis conocimientos en c++ son basicos...esto es una tarea que me dejaron de los 5 algoritmos de decker...lo que pido no es que me den el codigo, sino que me guien...es decir que me digan del codigo que pase que debo cambiar o que tengo mal, asi hare mi tarea y aprendere de los expertos  :P... lo malo que esto es para mañana  :( :-(


Siempre muy agradecido...
En línea

Grandeza no es solo saber, Grandeza es ayudar y compartir!!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines