//
// Autore: Giuliano Pellegrini Parisi
//
// Classe: 3^ Inf. Sirio
//
// Data: 20 aprile 2009
//
// Oggetto: Implementazione libreria fbblVettoriInteri
//
// Release: 0.1


using fbblTipi;
using fbblNumeriInteri;
using System;
using fbblScambioDati;

namespace fbblVettoriInteri
{
    public class StrumentiVettoriInteri
    {
        static public TVettoriInteri ElencoDivisori(int Numero)
        {
            int Valore;
            int ContatoreDivisori;
            TVettoriInteri Divisori;

            Divisori = new TVettoriInteri();

            ContatoreDivisori = 0;

            for (Valore=1; Valore<=Numero; Valore++)
            {
                if (StrumentiNumeriInteri.Divisore(Numero,Valore))
                {

                    Divisori.Vettore[ContatoreDivisori] = Valore;
                    ContatoreDivisori++;
                }
            }

            Divisori.Dimensione = ContatoreDivisori;

            return Divisori;

        }

        static public void Ordinamento(ref TVettoriInteri VettoreInteri)
        {
            int Posizione1;
            int Posizione2;

            if (VettoreInteri.Dimensione==1)
            {
                return;
            }

            for (Posizione1 = 0; Posizione1 < VettoreInteri.Dimensione - 1; Posizione1++)
            {

                for (Posizione2 = Posizione1+1; Posizione2 < VettoreInteri.Dimensione; Posizione2++)
                {
                    if (VettoreInteri.Vettore[Posizione1]>VettoreInteri.Vettore[Posizione2])
                    {
                        StrumentiScambioDati.Scambio(ref VettoreInteri, Posizione1, Posizione2);
                    }
                }


            }

        }


    }
}

