Izpitno vprašanje RAČ2PRA 6700

Iz MaFiRaWiki

GFDL Avtor tega članka je študent/ka EvelinaKudrevicius.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.

Vprašanje

Sestavi algoritem, ki izračuna povprečno dolžino besed, ki jih hranimo v enojno povezanem linearnem seznamu

Odgovor

(
public class Povprecje{
  public static int povprecno(LinSez<String> linearniSeznam) throws Exception{
    int stevec = 0;//s stevcem bomo steli koliko je bilo elementov linearnega seznama
    int vsota = 0;//vsota vseh dolzin besed tega linearnega seznama
    Vozel<String> prvi = linearniSeznam.vrniPrviVozel();//vrne prvi vozel
    if(linearniSeznam.prazen()){
      //metoda deluje tudi,če je LinSez prazen,saj smo to predvideli
      //ce je seznam prazen,ne naredimo nič,saj bo števec ostal na nič, prav tako pa tudi vsota
      return 0;
    }
    while(prvi!=null){
     String niz = prvi.vrniPodatek();
     vsota = vsota + niz.length() ; //že dobljeni vsoti prištejemo novo dolžino besede
     stevec = stevec + 1;
     prvi = prvi.vrniNasled();//prestavimo kazalec na naslednji element
  }
    double povprecje2 = vsota/stevec;
   //Po formuli za izračun povprečja števil (vsota števil deljeno s številom, kolikor je bilo teh števil) izračunamo povprečje besed 
    int povprecje1 = (int)povprecje2;//spremenimo v celo število,da se lepše izrazimo
    return povprecje1;
  }
  public static void main(String[] args)throws Exception{
    //v metodi main preverimo delovanje metode povprecno
    //Najprej ustvarimo nek linearni seznam nizov
    Vozel<String> ena = new Vozel<String>("Elizabeta",null);
    Vozel<String> dva = new Vozel<String>("Marjeta",ena);
    Vozel<String> tri = new Vozel<String>("Emma",dva);
    Vozel<String> stiri = new Vozel<String>("Aleksandra",tri);
    LinSez<String> s = new LinSez<String>();
    s.vstaviPrvega(ena);
    s.vstaviPrvega(dva);
    s.vstaviPrvega(tri);
    s.vstaviPrvega(stiri);
    
    System.out.println("Enojno povezani linearni seznam: "+s);
    System.out.println("Povprečna dolžina besed enojno povezanega linearnega seznama: "+povprecno(s));
  }
}

Ko poženemo program iz ukazne vrstice, dobimo:

 
Welcome to DrJava.
> java Povprecje
Enojno povezani linearni seznam:  -||- Aleksandra -||- Emma -||- Marjeta -||- Elizabeta
Povprečna dolžina besed enojno povezanega linearnega seznama: 7
>
Osebna orodja