Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   De Kantine (https://forum.scholieren.com/forumdisplay.php?f=15)
-   -   The Saaithon programming language #413 (https://forum.scholieren.com/showthread.php?t=1724963)

Lisa 09-11-2008 13:40

Godverdomme :D

Lisa 09-11-2008 13:41

Ik heb 20 topics in mijn eentje gevuld -O-

Jaeger 09-11-2008 13:41

Ik sta in de top 10? Ik ben pas bij nummer 200 of zo gaan posten, :D.

TopDrop 09-11-2008 13:41

Oh, als je 'm als genummerde lijst post wordt ie weer groter dan size 1. Oh well.

TopDrop 09-11-2008 13:43

Hier zit best wel veel uur werk in, trouwens.

Code:

import java.io.*;
import java.net.*;
import java.util.*;
 
class WszTeller
{       
    Map<String, Integer> ding = new TreeMap<String, Integer>();
           
    public WszTeller()
    {           
            lijst("wszlijst2.txt");       
    }

    private void lijst(String filenaam)
    {
            String regel;
        BufferedReader invoer;
        try
        {  invoer = new BufferedReader(new FileReader(filenaam));
            regel = invoer.readLine();
            while (regel != null)
            { 
                    int nummer = Integer.parseInt(regel);
                    System.out.println(nummer);
                    if(nummer==1337)
                    {
                            System.out.println(ding.size());
                            System.out.println(ding);
                    }
                    else
                            lees(nummer);
                           
                regel = invoer.readLine();
            }
            invoer.close();
        }
        catch (Exception e){}         
    }
   
    private void lees(int topicnummer)
    { 
            String regel = "";
            String tekst = "";
        BufferedReader invoer;
       
        try
        { 
                invoer = new BufferedReader(new InputStreamReader
                        (new URL("http://forum.scholieren.com/misc.php?do=whoposted&t="+topicnummer)
                                                                                .openConnection().getInputStream()));
            regel = invoer.readLine();
            while (regel != null)
            {
                    tekst = (tekst+regel+"\n");
                regel = invoer.readLine();
            }
            invoer.close();
        }
        catch (Exception e){} 
        check(tekst);
    }

        public void check(String tekst)
        {       
                int post;
                String naam="";
                String naamtemp;
                               
                for (int i=0; i<=tekst.length(); i++)
                {
                        naamtemp = vindnaam(tekst,i);
                       
                        if(naamtemp!="")
                                naam=naamtemp;
                       
                        post = vindpost(tekst,i);
                       
                        if(post!=0)
                        {
                                if(ding.containsKey(naam))
                                        ding.put(naam,(ding.get(naam)+post));
                                else
                                        ding.put(naam,post);
                        }
                }
        }
       
        public String vindnaam(String tekst, int i)
        {       
                String findUserName = "blank\">";
                String userName = "";
               
                if (tekst.regionMatches(i, findUserName, 0, findUserName.length()))
                {
                        String userNameTemp = tekst.substring(i + 7, i + 25);
                                                       
                        for(int n = 0; n <= 15; n++)
                        {
                                if(userNameTemp.charAt(n)!='<')
                                        userName=(userName+userNameTemp.charAt(n));
                                else
                                        break;                                                 
                        }
                }
                return userName;
        }
       
        public int vindpost(String tekst, int i)
        {
                String findUserPost = "close();\">";
                int postint=0;
               
                if (tekst.regionMatches(i, findUserPost, 0, findUserPost.length()))
                {       
                        String userPost = "";
                        String userPostTemp = tekst.substring(i + 10, i + 13);
                       
                        for(int n = 0; n <= 2; n++)
                        {
                                if(userPostTemp.charAt(n)!='<')
                                        userPost=(userPost+userPostTemp.charAt(n));
                                else
                                        break;
                        }
                        if(userPost!="")
                                postint = Integer.parseInt(userPost);
                }
                return postint;
        }
       
        /*private void schrijf(Map output0)
    { 
            PrintWriter uitvoer;
        try
        {  uitvoer = new PrintWriter( new FileWriter("output.txt"), true);
            uitvoer.print(output0);
            uitvoer.close();
        }
        catch (IOException io)
        {  //status.setText("Schrijffout in output.txt");
        } 
    }*/
   
        public static void main(String[] args)
        {
            WszTeller w = new WszTeller();
            //if(args.length>0) w.lees(args[0]);
        }
}


Bas 09-11-2008 13:43

30e. :cool:

Bas 09-11-2008 13:43

En kun je daar ook iets van op je site zetten? :bloos:

Swlabr 09-11-2008 13:45

Citaat:

TopDrop schreef: (Bericht 28457527)
Hier zit best wel veel uur werk in, trouwens.

Code:

import java.io.*;
import java.net.*;
import java.util.*;
 
class WszTeller
{       
    Map<String, Integer> ding = new TreeMap<String, Integer>();
           
    public WszTeller()
    {           
            lijst("wszlijst2.txt");       
    }

    private void lijst(String filenaam)
    {
            String regel;
        BufferedReader invoer;
        try
        {  invoer = new BufferedReader(new FileReader(filenaam));
            regel = invoer.readLine();
            while (regel != null)
            { 
                    int nummer = Integer.parseInt(regel);
                    System.out.println(nummer);
                    if(nummer==1337)
                    {
                            System.out.println(ding.size());
                            System.out.println(ding);
                    }
                    else
                            lees(nummer);
                           
                regel = invoer.readLine();
            }
            invoer.close();
        }
        catch (Exception e){}         
    }
   
    private void lees(int topicnummer)
    { 
            String regel = "";
            String tekst = "";
        BufferedReader invoer;
       
        try
        { 
                invoer = new BufferedReader(new InputStreamReader
                        (new URL("http://forum.scholieren.com/misc.php?do=whoposted&t="+topicnummer)
                                                                                .openConnection().getInputStream()));
            regel = invoer.readLine();
            while (regel != null)
            {
                    tekst = (tekst+regel+"\n");
                regel = invoer.readLine();
            }
            invoer.close();
        }
        catch (Exception e){} 
        check(tekst);
    }

        public void check(String tekst)
        {       
                int post;
                String naam="";
                String naamtemp;
                               
                for (int i=0; i<=tekst.length(); i++)
                {
                        naamtemp = vindnaam(tekst,i);
                       
                        if(naamtemp!="")
                                naam=naamtemp;
                       
                        post = vindpost(tekst,i);
                       
                        if(post!=0)
                        {
                                if(ding.containsKey(naam))
                                        ding.put(naam,(ding.get(naam)+post));
                                else
                                        ding.put(naam,post);
                        }
                }
        }
       
        public String vindnaam(String tekst, int i)
        {       
                String findUserName = "blank\">";
                String userName = "";
               
                if (tekst.regionMatches(i, findUserName, 0, findUserName.length()))
                {
                        String userNameTemp = tekst.substring(i + 7, i + 25);
                                                       
                        for(int n = 0; n <= 15; n++)
                        {
                                if(userNameTemp.charAt(n)!='<')
                                        userName=(userName+userNameTemp.charAt(n));
                                else
                                        break;                                                 
                        }
                }
                return userName;
        }
       
        public int vindpost(String tekst, int i)
        {
                String findUserPost = "close();\">";
                int postint=0;
               
                if (tekst.regionMatches(i, findUserPost, 0, findUserPost.length()))
                {       
                        String userPost = "";
                        String userPostTemp = tekst.substring(i + 10, i + 13);
                       
                        for(int n = 0; n <= 2; n++)
                        {
                                if(userPostTemp.charAt(n)!='<')
                                        userPost=(userPost+userPostTemp.charAt(n));
                                else
                                        break;
                        }
                        if(userPost!="")
                                postint = Integer.parseInt(userPost);
                }
                return postint;
        }
       
        /*private void schrijf(Map output0)
    { 
            PrintWriter uitvoer;
        try
        {  uitvoer = new PrintWriter( new FileWriter("output.txt"), true);
            uitvoer.print(output0);
            uitvoer.close();
        }
        catch (IOException io)
        {  //status.setText("Schrijffout in output.txt");
        } 
    }*/
   
        public static void main(String[] args)
        {
            WszTeller w = new WszTeller();
            //if(args.length>0) w.lees(args[0]);
        }
}


Ik kan niet zeggen dat ik het begrijp, maar het ziet er wel heel cool uit. :o

TopDrop 09-11-2008 13:45

Citaat:

Basjeeh schreef: (Bericht 28457531)
En kun je daar ook iets van op je site zetten? :bloos:

:y

Swlabr 09-11-2008 13:46

Kun je ook een scriptje schrijven dat bijhoudt hoeveel posts er zijn gemaakt in alle WSZ's? Zo'n lopend tellertje, zeg maar.

Pippeloen 09-11-2008 13:46

wow maarten :cool:

Katje 09-11-2008 13:46

sjonge

TopDrop 09-11-2008 13:47

Citaat:

Darkiekurd schreef: (Bericht 28457544)
Kun je ook een scriptje schrijven dat bijhoudt hoeveel posts er zijn gemaakt in alle WSZ's? Zo'n lopend tellertje, zeg maar.

Alle wsz's bij elkaar?

Dan moet je gewoon al die getalletjes uit die lijst bij elkaar optellen.

Bas 09-11-2008 13:47

Citaat:

TopDrop schreef: (Bericht 28457541)
:y

En dan is 'ie ook automatisch up-to-date, als je de nieuwe topics er ook tussen zet?

Swlabr 09-11-2008 13:48

Citaat:

TopDrop schreef: (Bericht 28457556)
Alle wsz's bij elkaar?

Dan moet je gewoon al die getalletjes uit die lijst bij elkaar optellen.

Of het nummertje vermenigvuldigen met 501. ;)

Bas 09-11-2008 13:48

Citaat:

Darkiekurd schreef: (Bericht 28457544)
Kun je ook een scriptje schrijven dat bijhoudt hoeveel posts er zijn gemaakt in alle WSZ's? Zo'n lopend tellertje, zeg maar.

Wat dacht je van 412*501+(het aantal van topic 413)? :D
Maar dan heb je geen lopend tellertje. :(

Kazet Nagorra 09-11-2008 13:48

Tweede, jeetje zeg.

Swlabr 09-11-2008 13:49

501n - (hoeveel posts tot topic n vol is).

Swlabr 09-11-2008 13:49

Citaat:

Basjeeh schreef: (Bericht 28457570)
Wat dacht je van 412*501+(het aantal van topic 413)? :D
Maar dan heb je geen lopend tellertje. :(

Dat weet ik ook wel, maar ik wilde een lopend tellertje. ;)

TopDrop 09-11-2008 13:50

Citaat:

Basjeeh schreef: (Bericht 28457558)
En dan is 'ie ook automatisch up-to-date, als je de nieuwe topics er ook tussen zet?

Nou, dat is wel lastiger. Want hij gaat een lijst af met alle nummers van de wsztopics. En die doet ie in een verzameling. En aan het eind poept ie die uit.

Ik moet dan nog iets verzinnen dat ie dat ook weer in kan lezen, en dan een paar topics erbij kan doen om 'm te updaten. Anders moet ie iedere keer opnieuw die hele lijst afgaan.

En het is een java application, dus die kun je niet op een website draaien. Ik denk niet dat ie het doet als applet, omdat applets geen file acces hebben.

Jaeger 09-11-2008 13:51

Oké, ik loog. Vanaf nummer 115.

Swlabr 09-11-2008 13:51

Dat is wel cool, want f'(n) = 501, en per topic zijn er 501 posts. Calculus to teh rescue when common sense fails!

Jaeger 09-11-2008 13:51

Sommige oude WSZ-topics met 500 posts zijn trouwens niet gesloten.

Katje 09-11-2008 13:52

Zo is dat.

Swlabr 09-11-2008 13:52

En sommige topics hebben meer dan 501 posts, door forumbazen die dan nog posten.

Bas 09-11-2008 13:53

Citaat:

Darkiekurd schreef: (Bericht 28457603)
Dat is wel cool, want f'(n) = 501, en per topic zijn er 501 posts. Calculus to teh rescue when common sense fails!

Maar er zijn toch ook topics met 501 reacties door die update?

Jaeger 09-11-2008 13:54

Ja, maar in die threads zou ik ook gewoon nog kunnen posten.

TopDrop 09-11-2008 13:54

Citaat:

Darkiekurd schreef: (Bericht 28457564)
Of het nummertje vermenigvuldigen met 501. ;)

Als ik die lijst even in google spreadsheet zet, en die kolom optel, komt er 205951 posts uit.

Swlabr 09-11-2008 13:54

Citaat:

Basjeeh schreef: (Bericht 28457616)
Maar er zijn toch ook topics met 501 reacties door die update?

Ja, daarom klopt die formule ook niet helemaal. :(

Vlindertje 09-11-2008 13:54

Ow, dat valt nog best mee.

Bas 09-11-2008 13:55

Ik vind wel dat de fbtjes nog redelijk hoog staan. (Y) 12e 27e 28e en 34e.

Swlabr 09-11-2008 13:56

Citaat:

topdrop schreef: (Bericht 28457630)
als ik die lijst even in google spreadsheet zet, en die kolom optel, komt er 205951 posts uit.

501*413 - 169 = 206742.

Nee, het klopt niet. Jouw manier is beter. :)

Bas 09-11-2008 13:56

206743.

TopDrop 09-11-2008 13:57

Citaat:

Darkiekurd schreef: (Bericht 28457642)
501*413 - 169 = 206742.

Nee, het klopt niet. Jouw manier is beter. :)

Het gaat t/m topic 412 he. Dit topic heb ik nog niet in de lijst meegerekend.

Swlabr 09-11-2008 13:57

Citaat:

TopDrop schreef: (Bericht 28457647)
Het gaat t/m topic 412 he. Dit topic heb ik nog niet meegerekend.

Dan zou het nog steeds niet helemaal goed zijn. ;)

Katje 09-11-2008 13:58

godver er ligt een fijne tandartsrekening van 130 uuro :'( :'( :'(

Katje 09-11-2008 14:00

Ik zie dat jullie er ook allemaal stil van worden.

Vlindertje 09-11-2008 14:01

De tandarts is eng.

TopDrop 09-11-2008 14:02

Citaat:

Darkiekurd schreef: (Bericht 28457538)
Ik kan niet zeggen dat ik het begrijp, maar het ziet er wel heel cool uit. :o

in lijst gaat ie een textfile af met topicnummers. dan roept ie lees aan met een zojuist gevonden topicnummer. in lees leest ie dit soort url's: http://forum.scholieren.com/misc.php...sted&t=1724963, maar dan steeds met een ander nummer dat ie gelezen heeft uit die lijst. daar maakt ie 1 lange string van. met die string roept ie check aan. check gaat met vindnaam en vindpost opzoek naar usernames en het aantal posts. zodra hij het aantal posts heeft gevonden, stopt ie die samen met de eerder gevonden username in een verzameling. als er al een object bestaat met die username, haalt ie het aantal posts eruit, telt hierbij het zojuist gevonden aantal op, en stopt 'm weer terug in de verzameling. aan het eind geeft ie als output de hele verzameling.

Lucky Luciano 09-11-2008 14:04

omg ik ben hard gepwnd door stefenootje

Vlindertje 09-11-2008 14:05

Citaat:

TopDrop schreef: (Bericht 28457687)
in lijst gaat ie een textfile af met topicnummers. dan roept ie lees aan met een zojuist gevonden topicnummer. in lees leest ie dit soort url's: http://forum.scholieren.com/misc.php...sted&t=1724963, maar dan steeds met een ander nummer dat ie gelezen heeft uit die lijst. daar maakt ie 1 lange string van. met die string roept ie check aan. check gaat met vindnaam en vindpost opzoek naar usernames en het aantal posts. zodra hij het aantal posts heeft gevonden, stopt ie die samen met de eerder gevonden username in een verzameling. als er al een object bestaat met die username, haalt ie het aantal posts eruit, telt hierbij het zojuist gevonden aantal op, en stopt 'm weer terug in de verzameling. aan het eind geeft ie als output de hele verzameling.

*nerdalert* :bloos:

Pippeloen 09-11-2008 14:07

Citaat:

Katje schreef: (Bericht 28457657)
godver er ligt een fijne tandartsrekening van 130 uuro :'( :'( :'(

(n)

Uice 09-11-2008 14:07

Kwaliteit > kwantiteit.

Kazet Nagorra 09-11-2008 14:09

Citaat:

Uice schreef: (Bericht 28457722)
Kwaliteit > kwantiteit.

Dus eigenlijk sta ik bovenaan?

Uice 09-11-2008 14:10

Ja.

Lucky Luciano 09-11-2008 14:10

Citaat:

Katje schreef: (Bericht 28457657)
godver er ligt een fijne tandartsrekening van 130 uuro :'( :'( :'(

o dat is wel veel, ik heb ook altijd een hekel aan die kutrekeningen. Vooral nu met dat eigen risico:(

Lucky Luciano 09-11-2008 14:11

Citaat:

TopDrop schreef: (Bericht 28457687)
in lijst gaat ie een textfile af met topicnummers. dan roept ie lees aan met een zojuist gevonden topicnummer. in lees leest ie dit soort url's: http://forum.scholieren.com/misc.php...sted&t=1724963, maar dan steeds met een ander nummer dat ie gelezen heeft uit die lijst. daar maakt ie 1 lange string van. met die string roept ie check aan. check gaat met vindnaam en vindpost opzoek naar usernames en het aantal posts. zodra hij het aantal posts heeft gevonden, stopt ie die samen met de eerder gevonden username in een verzameling. als er al een object bestaat met die username, haalt ie het aantal posts eruit, telt hierbij het zojuist gevonden aantal op, en stopt 'm weer terug in de verzameling. aan het eind geeft ie als output de hele verzameling.

kan er per forumer ook een grafische representatie komen. Op de x-as het topicnummer en op de y-as het aantal posts. En dat je dan forumers kan selecteren en dat die in dezelfde plot komen:o

Bas 09-11-2008 14:12

Citaat:

Lucky Luciano schreef: (Bericht 28457756)
kan er per forumer ook een grafische representatie komen. Op de x-as het topicnummer en op de y-as het aantal posts. En dat je dan forumers kan selecteren en dat die in dezelfde plot komen:o

Eitje.

TopDrop 09-11-2008 14:18

Citaat:

Lucky Luciano schreef: (Bericht 28457756)
kan er per forumer ook een grafische representatie komen. Op de x-as het topicnummer en op de y-as het aantal posts. En dat je dan forumers kan selecteren en dat die in dezelfde plot komen:o

Maak maar :)

Bas 09-11-2008 14:22

Deel 1 is niet zo moeilijk, dat kan ik ook wel met Excel. Maar deel twee niet. :(


Alle tijden zijn GMT +1. Het is nu 11:23.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.