• Welcome to Test Foro de elhacker.net SMF 2.1.
 
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - chikardo

#1
Hola buenas estuve todo el dia tratando de entender cual es mi error , y no lo encuentro , si me dijeran cual es el problema o me lo solucionaran ,seria un gran alivio para mi , desde ya muchas gracias.
Les dejo el codigo : (Es un codigo en c++ de rounb robin con quantium 5)

Code (cpp) Select

#include<iostream>
#include<conio.h>
using namespace std;

void piladebusqueda(int pnt ,int tm);
void piladebusqueda2(int pnt ,int tm);
void anadir(int pnt);

int llegada[50];
int espera[50];
int fin[50]={0};
int quantium;
int rqi[50]={0};
int btm[50]={0};
int c=0;
int st;
int flg=0;
int tm=0;
int noe=0;
int pnt=0;
int servicio;
int esper;
float prom_servicio;
float prom_espera;



void piladebusqueda1(int pnt,int tm){
for(int x=pnt+1;x<5;x++){
if(llegada[x]<=tm){
rqi[noe]=x+1;
noe++; }
}
}


void piladebusqueda2(int pnt,int tm){
for(int x=pnt+1;x<5;x++){
int fl=0;
for(int y=0;y<noe;y++){
if(rqi[y]==x+1){
fl++;}}
if(llegada[x]<=tm && fl==0 && btm[x]!=0){
rqi[noe]=x+1;
 noe++;}
}
 }
 
 
 int main(){
  cout<<"\n\tAlgoritmo Round Robin\n";
 
 
 
  for(int x=0;x<5;x++){
  cout<<"\nProceso"<<x+1;
  cout<<"\nTiempo de llegada=";
  cin>>llegada[x];
  cout<<"\nTiempo de servicio";
  cin>>espera[x];
     btm[x]=espera[x];}
     cout<<"\nIngresa el quantum por favor:";
     cin>>quantium;
     system("CLS");
     
     do{
      if(flg==0){
      st=llegada[0];
      if(btm[0]<=quantium){
      tm=st+btm[0];
      btm[0]=0;
      piladebusqueda1(pnt,tm);}
      else{
      btm[0]=btm[0]*quantium;
      tm=st+quantium;
      piladebusqueda1(pnt,tm);
      anadir(pnt);}
 }
 else{
  pnt=rqi[0]-1;
  st=tm;
 
 
  for(int x=0;x<noe && noe!=1;x++){
rqi[x]=rqi[x+1]; }
noe--;




if(btm[pnt]<=quantium){
tm=st+btm[pnt];
btm[pnt]=0;
piladebusqueda2(pnt,tm);}
else{
btm[pnt]=btm[pnt]-quantium;
tm=st+quantium;
piladebusqueda2(pnt,tm);
anadir(pnt);}
 }
 if(btm[pnt]==0){
  fin[pnt]=tm;
 }
 flg++;
 }while(noe!=0);
 cout<<"\n\nPROCESOS\tTIEMPO DE LLEGADA\tTIEMPO DE SERVICIO\tTIEMPO FINAL\tTIEMPOS DE RESPUESTAS\tTIEMPO DE ESPERA\n";
 for(int x=0;x<5;x++){
  servicio=fin[x]-llegada[x];
  esper=servicio-espera[x];
  cout<<"proceso"<<x+1<<"\t\t"<<llegada[x]<<"\t\t"<<espera[x]<<"\t\t"<<fin[x]<<"\t\t"<<servicio<<"\t\t\t"<<esper<<"\t\t";
  prom_espera=prom_espera+esper;
  prom_servicio=prom_servicio+servicio;
 }
     cout<<"\n Tiempo promedio de servicio:" <<prom_servicio/5<<"\n Tiempo promedio de espera:"<<prom_espera/5;
 }




MOD: Etiquetas de Código GeSHi insertadas
#2
Paso mi codigo si alguien me lo puede arreglar , por favor es un trabajo final , lo necesito urgente

Code (cpp) Select

#include<stdio.h>
#define MAX 100

int leeCantidadElem()
{
   int n;  
   do{
       printf("Cantidad de elementos a ingresar");
scanf("%d",&n);
           if(n<=0){
            printf("No seas payaso(a), ingresa una cantidad correcta: ");
}
               
           if(n>MAX){
            printf("La cantidad maxima permitida es ");
}
               
   }while(n<=0 || n>MAX);
   return n;
}

int elegirEvento(int cant,int A[])
{
int i,k,elem,opt;
Opciones:

   printf("1. Insertar elemento: ");
   printf("2. Eliminar elemento: ");
    printf("3. Agregar elemento: ");
    printf("4. Buscar elemento: ");
    printf("Elija una opcion 1 , 2 , 3 o 4: ");
scanf("%d",&opt);
   switch(opt)
   {
       case 1:
               {
                   printf("\t>>Que elemento desea insertar: ");
                   scanf("%d",&elem);
                   do{
                   printf("\t>>En que posicion desea insertar...");
                   scanf("%d",&k);
                       if(k>(cant-1)||k<0){
                        printf(">>Ingrese una posicion valida!!!");
}
                         
                   }while(k>(cant-1)||k<0);
                   cant++;
                   for(i=cant-1;i>=k;i--)
                   {
                       A[i+1]=A[i];
                       if(k==i)
                       A[k]=elem;      
                   }
               }break;

       case 2:
               {
                   do{
                   printf("\t>>Que posicion desea eliminar.. ");
                   scanf("%d",&k);
                   if(k>(cant-1)||k<0)
                           printf(">>Ingrese una posicion valida!!!");
                   }while(k>(cant-1)||k<0);
                   for(i=k;i<cant;i++)
                   {
                       A[i]=A[i+1];
                   }
                       cant--;
               }break;

       case 3:
               {
                   for(i=0;i<1;i++)
                   {
                       printf("\t>>Que elemento desea agregar : ");
                       scanf("%d",&elem);
                   Agregar:
                       cant++;
                       A[cant-1]=elem;        
                   }
               }break;
       
       case 4:
               {
                    printf("\t>>Que elemento desea buscar: ");
                    scanf("%d",&elem);
                   for(i=0;i<cant;i++)
                   {
                       if(A[i]==elem)
                       {
                           printf("\t>>El elemento buscado se encuentra en:");
                           //Añandir el elemento al final de arreglo
                           printf("\t>>El elemento se agregara al final");
                       goto Agregar;
                       }
                       else
                       {
                           if(i==cant-1)
                           {
                           printf("\t>>No se encuetra el elemento que busca!!!");
                           printf("\t>>Puede confirmarlo viendolo Ud. mismo!!!");
                           }
                       }  
                   }

               }break;
       default:printf("No existe esa opcion, vuelva a intentar: ");
   }

return cant;
}

void main()
{
   int c;
   char opt;
   int n[MAX];
   printf("\t\t\tAGREGAR 2 ELEMENTOS AL FINAL");
   c=leeCantidadElem();
   leeCadena(c,n);
   do{
   c=elegirEvento(c,n);
   muestraCadena(c,n);
   printf("Desea realizar otra operacion!!!... S/s, caso contrario pulse otra tecla: ");
   scanf("%f",&opt);
   }while(opt=='s'||opt=='S');
}



[MOD] para publicar codigo usar etiquetas GeSHi.