Započni novu temu Odgovori na temu  [ 11 Posta ] 
Autoru Poruka
PostPoslato: 22.09.2006. 19:01:50 
Moderator
Korisnikov avatar

Pridružio se: 13.10.2003. 14:04:31
Postovi: 4555
Lokacija: At the poker table
Godina: II
Smer: IS
evo sinoc sam radio neke zadatke iz jave koji su dolazili na ispitima i

tekst jednog zadatka je
Ucitati tekst iz fajla sample.txt i na standardnom izlazu prikazati rec iz teksta sa najvecim brojem samoglasnika.


Kod:
import java.io.*;
import java.util.*;

class Zadatak11{

   static String[] nizReci = new String[200];
   static String delim=" ;.)(:,";

   public static void ucitajNiz(){
      try{
         BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("sample.txt"))));
         String line;

         while((line=br.readLine())!=null){
         
            StringTokenizer tokenizer = new StringTokenizer(line,delim);
            int brojReci = tokenizer.countTokens();

            for(int i =0;i<brojReci;i++)
               nizReci[i]=tokenizer.nextToken();
         }
      }catch(IOException e){}
   }
   public static boolean jesteSamoglasnik(char karakter){
      boolean samoglasnik=false;

      if(karakter=='a'||karakter=='e'||karakter=='i'||karakter=='o'||karakter=='u')
         samoglasnik=true;
      return samoglasnik;
   }
   public static String pronadjiRec(){

      double najvisheSamoglasnika = 0;
      String najboljaRec = "";

      for(int i=0; i<nizReci.length; i++){
                     
         int brojSamoglasnikaTekuceReci = 0;
         String rec = nizReci[i];
         
         if(rec==null)
            break;          for(int j=0; j<rec.length(); j++){
            if(jesteSamoglasnik(rec.charAt(j)))
               brojSamoglasnikaTekuceReci++;
         }   
         if(brojSamoglasnikaTekuceReci>najvisheSamoglasnika){
            najvisheSamoglasnika = brojSamoglasnikaTekuceReci;
            najboljaRec = rec; //treba zapamtiti i rec za returnovanje
         }
      }
      return najboljaRec;
   }
   public static void main(String args[]){
      ucitajNiz();
      System.out.println("Rec sa najvise samoglasnika (procentualno) je:"+pronadjiRec());
   }
}


a evo u pythonu
Kod:
def main():
    imeFajla ="/home/vita/python/workspace/Zadatak10/src/sample.txt"
    text = ucitaj(imeFajla)
    najbolja = pronadjiRec(text)
    print "rec sa najvishe samoglasnija je: "+najbolja

def ucitaj(imeFajla):
    fajl = open(imeFajla,"r")
    sadrzaj = fajl.read()
    fajl.close()
    return sadrzaj

def pronadjiRec(txt):
    max=0
    najboljaRec="" #ovo cak moze da se obrishe

    listaReci = txt.split(" ")

    for rec in listaReci:
        brojSamoglasnika=0
        for karakter in rec:
            if(jesteSamoglasnik(karakter)):
                brojSamoglasnika=brojSamoglasnika+1

        if(brojSamoglasnika>max):
            max=brojSamoglasnika
            najboljaRec=rec

    return najboljaRec

def jesteSamoglasnik(karakter):
    if(karakter=="a" or karakter=="e" or karakter=="i" or karakter=="o" or karakter=="u" ):
        return 1

    return 0

#pozivanje main metode
main()


uporedite duzinu i razunljivost ovih programa ;)

_________________
I know that the spades are the swords of a soldier
I know that the clubs are weapons of war
I know that diamonds mean money for this art
But thats not the shape of my heart


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 22.09.2006. 19:53:11 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
Java ima baš veliki šum u odnosu na zmijkče. A evo malo drugačijeg koda na osnovu već postavljenog (stavio sam # gde sam menjao kod):
Kod:
def main():
    imeFajla = "/home/vita/python/workspace/Zadatak10/src/sample.txt"
    text = ucitaj(imeFajla)
    najbolja = pronadjiRec(text)
    print "rec sa najvishe samoglasnika je:", najbolja #

def ucitaj(imeFajla):
    fajl = open(imeFajla, "r")
    sadrzaj = fajl.read()
    fajl.close()
    return sadrzaj

def pronadjiRec(txt):
    max = 0
    najboljaRec = "" #ovo cak moze da se obrishe

    listaReci = txt.split()

    for rec in listaReci:
        brojSamoglasnika = 0
        for karakter in rec:
            if karakter in ('a', 'e', 'o', 'u', 'i'): #
                brojSamoglasnika += 1 #

        if brojSamoglasnika > max:
            max = brojSamoglasnika
            najboljaRec = rec

    return najboljaRec

#pozivanje main metode
main()


Ima python True i False već nekoliko godina tako da nema potrebe za C logikom :)
Kad sam ja pisao domaći iz Struktura, pa C verzija, pa java pa python... Isto sam razmišljao kao Vita kada sam uporedio kodove.

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 22.09.2006. 21:18:54 
Korisnikov avatar

Pridružio se: 11.12.2003. 00:09:55
Postovi: 6917
Lokacija: Beograd
Godina: Dipl.
Smer: IS
I meni izgleda daleko preglednije. Nego meni je Python velika nepoznanica. Nisam imao prilike da se srećem sa njim, pa bi bilo lepo da nas malo uputite (tutorijali, šta sve treba), verujem da mnoge zanima (mene živo zaintrigiralo).

_________________
Svako je jutro novo ušće, poteci kao rečica.
Neka se trnje plete gušće nebo je tvoja prečica,
I zdrobi lažne dijamante ko ljusku šupljeg oraha
Nek bulevari sveta pamte muziku tvojih koraka


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 22.09.2006. 22:33:17 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
Samo skini instalaciju sa www.python.org i tu dobijaš u dokumentaciji dobar tutorijal. Jezik je izuzetno lagan i logičan, a uz interaktivni interpreter se brzo uči. Imam i gomilu knjiga... Mada mogli bi i ovde da uradimo mini tutorijal.

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 22.09.2006. 23:37:57 
Moderator
Korisnikov avatar

Pridružio se: 11.11.2004. 14:34:28
Postovi: 8655
Godina: Apsolvent
Smer: IS
Pa, svedok sam toga kako Zlatko s vremena na vreme malo hvali Python i, sto direktno, sto indiretkno, upoznaje ljude sa tim jezikom... Ima goomila lnikova na nasem forumu o Pythonu... Mene licno malo vise rpivlaci Jython... Jezik koji je pokupio sve od Pythona (sintaksu, kljucne reci...), ali koristi biblioteke Java API-ja... carski :D Plus sto za Jython ti treba JVM, ona cita bytecode koji dobijes kompajliranjem Jython koda... Sve u svemu, polako se krece ka tome da JVM bude nesto pandan .NET-u... Da se drugi jezici kompajliraju u bytecode koji se kompjalira JVM-om na svim mogucim platformama... s tim sto JVM radi bukvalno na SVIM os-ovima, dok .net radi na win98, win2k, win xp, win2k3... :D odoh u off... srry..

_________________
Tommorow is cancelled due to lack of interest!
...
O, da mi je da se još jednom zaljubim,
Opet bih uzeo kostim Večnog dečaka,
I opet bih smislio kako da prodangubim
Dok ona ne sleti niz hodnik Studenjaka...


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 22.09.2006. 23:49:42 
Korisnikov avatar

Pridružio se: 09.01.2002. 21:49:51
Postovi: 526
Godina: Padobranac
Boj ne bije svijetlo oruzje ...


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 23.09.2006. 00:48:25 
Moderator
Korisnikov avatar

Pridružio se: 16.12.2001. 17:03:40
Postovi: 1463
Lokacija: Manaus
Godina: Dipl.
Smer: IS
reci ti to cobol programerima :) lol

_________________
www.slamarica.com - www.foliograph.com - www.turizamusrbiji.rs


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 23.09.2006. 00:59:39 
Korisnikov avatar

Pridružio se: 07.09.2006. 07:34:18
Postovi: 205
Lokacija: Najjeftinija birtija u okolini
Godina: III
Smer: IS
DJole je napisao:
reci ti to cobol programerima :) lol


Nece moci , ta vrsta dinosaurusa je izumrla krajem prosloga veka :D


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 23.09.2006. 02:13:22 
Moderator
Korisnikov avatar

Pridružio se: 13.10.2003. 14:04:31
Postovi: 4555
Lokacija: At the poker table
Godina: II
Smer: IS
@zlatko... :respect:
jbg..ja trazio true ali nije htelo ..tacnije eclipse mi nije poplavio tu rec kao kljucnu :D
a i ovo za in se nisam setio :)
i nije hteo ++ operator da radi pa ja rekoh ovo ce sigurno da radi :D

ma jezik je zakon...jedino sto meni smeta je sto nemam dobru dokumentaciju kao za java API...
takva dokumentacija je toliko pregledna ...savrshena :)

ovo sto imam sto dolazi uz gnu/linux mi se bash i ne svidja ...
nekako fazon... klasa i onda ide lista metoda jedna po jedna sa celim opisom...nema onako prvo manji opis pa onda detaljno za svaku metodu :)

_________________
I know that the spades are the swords of a soldier
I know that the clubs are weapons of war
I know that diamonds mean money for this art
But thats not the shape of my heart


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 27.09.2006. 00:04:04 

Pridružio se: 08.03.2004. 16:10:43
Postovi: 572
Lokacija: Pančevo
Godina: Dipl.
Smer: IS
Peter Norvig (http://www.norvig.com) koristi Python... :P To je dovoljna referenca... :cool:

_________________
>> <<


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 27.09.2006. 07:29:05 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
I Eric C. :)

Bogme i Bruce E.

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 11 Posta ] 


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 0 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
cron
Copyleft FONForum 2001-2014 | Powered by phpBB © phpBB Group