Example #1
0
int main(int argc, char const *argv[]) {
  ArregloEnterosPositivos arreglo(10);
  std::cout << "Antes: " << arreglo[0] << std::endl;
  arreglo[0] = 1;
  std::cout << "Despues: " << arreglo[0] << std::endl;
  arreglo[0] = -3;
  std::cout << "Asginacion negativa: " << arreglo[0] << std::endl;
  return 0;
}
Example #2
0
Conj<Agente>  campusSeguro::conKSanciones(Nat k)
{
    Conj<Agente> res;
    Nat posK;
    if(KSanciones.buffer) // .buffer es el .pi2
    {
        posK = busquedaBinaria(KSanciones.arreglo,0,KSanciones.arreglo.Tamanho()-1,k);
        res = KSanciones.arreglo[posK].conjAgentes; // pi1=.arreglo y el otro .pi1=conjAgentes
    }
    else
    {
        ConjsEqu<Agente>::Iterador it  =  KSanciones.itMenosSanciones;
        //Arreglo<campusSeguro::TuplaAgYSan> arreglo = Arreglo(agentes.Cardinal());
        Arreglo<campusSeguro::TuplaAgYSan> arreglo(_agentes.Cardinal());
        Nat indice = 0;
        Nat valAct = -1;

        while( it.HaySiguiente() )
        {
            if( it.valorActual() != valAct )
            {
               valAct = it.valorActual();
               campusSeguro::TuplaAgYSan clase;
               clase.conjAgentes = it.claseActual();
               clase.Sanciones = it.valorActual();
               arreglo[indice] = clase;
               indice++;
            }// fin if

            it.Avanzar();
        }// fin 1er while

        while( indice < arreglo.Tamanho() )
        {
            campusSeguro::TuplaAgYSan claseVac;
            Conj<Agente> conjvacio; // creo un conjunto vacio, sin elementos.
            claseVac.conjAgentes = conjvacio;
            claseVac.Sanciones   = valAct+1;
            arreglo[indice]=claseVac;
            indice++;
        }// fin 2do while

        KSanciones.arreglo = arreglo;
        KSanciones.buffer = true;
        KSanciones.itMenosSanciones = KSanciones.itMenosSanciones; // esta demas,pero lo pongo asi queda clara la idea.
    }   // fin else

    return res;
}