Archief - ATTN: Studenten steun- en klaagthread - Deel 9

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Matt.

Legacy Member
Jackall4ever zei:
En plots ziet de informatica, die ik moet blokken, er peanuts uit...

Oplossing is anders zo simpel nog niet?

mac-bc zei:
Misschien moet je eens de bedoeling van het programma meegeven?

Je kijkt sowieso al scheel op programmacode die je niet zelf geschreven hebt, laat staan als je de bedoeling ervan niet kent. ;)

Kijken welke char meest prevalent is in een String en die char en de prevalentie van die char weergeven.
Beetje aan 't foefelen met hashmaps, zo komt ge wel in de buurt van O(n).

Bertold

Legacy Member
mac-bc zei:
Wat krijgen jullie van informatica? Ook programmeren?

Nah in 1e bach wat prullen met Excel en wa theorie over algoritmes etc..
In 2e bach HIR wel programmeren enzo maar ik doe geen HIR maar TEW..
Wij hebben in 3e bach Beleidsinformatica wat dan weer wat werken met access inhoudt :puke: waarvan de prof zelf zegt dat er betere alternatieven voor zijn maar dat we toch access moeten gebruiken

Bon , m'n tweede van de vijf was ook in orde.. Nu morgen al mn volgende en dan zaterdag en maandag nog een :cry:

Amnesiac

Legacy Member
Nicske91 zei:
Hoe kan je de complexiteit verminderen van dit algoritme

String bs = "Dit is een boodschap aan de wereld";
int max = -1;
char let = '*';
for (int i=0;i<bs.length();i++) {
int tel = 1;
for (int j=i+1;j<bs.length();j++) {
if (bs.charAt(j) == bs.charAt(i)) tel++;
}
if (tel > max) {
max = tel;
let = bs.charAt(i);
}
}
System.out.println(max + " keer " + let);

Ik denk normaal dat de complexiteit van de grootteorde O(n^2) is, maar ik weet niet hoe je deze kan verminderen... Naar een 2^log of n grootteorde?

Het is al een tijdje geleden maar is dit geen betere oplossing:

Code:
String bs = "Dit is een boodschap aan de wereld";
int max = 0;
char let = '*';
int tel=1;
for (int i=0;i<bs.length();i++) {
  if(bs.charAt(i)==bs.charAt(i+1)){
    tel++;
    if(tel>max) {
      max=tel;
      let=bs.charAt(i);
    }
  }
  else tel=1;
}
System.out.println(max + " keer " + let);

Ik heb geen Eclipse op deze pc staan, maar voor zover ik het me kan inbeelden telt dit programma het maximum aantal dat een bepaalde letter na elkaar voorkomt in een zin. Ipv 2 lussen te gebruiken gebruik je enkel een 'look-forward' door charAt(i) enkel te vergelijken met charAt(i+1).

Nicske91

Legacy Member
Matt. zei:
Plakt da keer in code-tags, zo onoverzichtelijk zonder tabs?

Nja ik heb het met tabs gedaan en verschijnt het zo :s. Wss doe ik weer iets verkeerd. Mss moet ik [\t] eens gebruiken :p

Matt.

Legacy Member
Nicske91 zei:
Nja ik heb het met tabs gedaan en verschijnt het zo :s. Wss doe ik weer iets verkeerd. Mss moet ik [\t] eens gebruiken :p

CODE-tags er rond. ;)

Amnesiac zei:
Het is al een tijdje geleden maar is dit geen betere oplossing:

Ik heb geen Eclipse op deze pc staan, maar voor zover ik het me kan inbeelden telt dit programma het maximum aantal dat een bepaalde letter na elkaar voorkomt in een zin. Ipv 2 lussen te gebruiken gebruik je enkel een 'look-forward' door charAt(i) enkel te vergelijken met charAt(i+1).

Werkt niet eh. Dit werkt, alleen nog vinden hoe ge de max int met bijhorende char uit uw hashmap haalt:

Code:
        HashMap<Character, Integer> map = new HashMap<Character, Integer>();
        String tekst = "abcdefghabc";
        char max = '*';
        int aantal = -1;

        for(int i = 0; i < tekst.length(); i++) {
            if(map.containsKey(tekst.charAt(i))) {
                map.put(tekst.charAt(i), map.get(tekst.charAt(i))+1);
            } else {
                map.put(tekst.charAt(i), 1);
            }
        }
Dit geeft u een tweedim array:
a b c d e f g h
2 2 2 1 1 1 1 1
in dit geval, dus nu nog zoeken hoe ge de max int uit die hashmap haalt met bijhorende char, en nog zorgen dat als ge meerdere max hebt het ook nog in orde is. Moet doenbaar zijn in een enkele for-lus en levert uw max 26 extra stappen op, ipv n². Alleen is die hashmap class nog irritant om mee te werken. :p

mac-bc

Legacy Member
Bertold zei:
Nah in 1e bach wat prullen met Excel en wa theorie over algoritmes etc..
In 2e bach HIR wel programmeren enzo maar ik doe geen HIR maar TEW..
Wij hebben in 3e bach Beleidsinformatica wat dan weer wat werken met access inhoudt :puke: waarvan de prof zelf zegt dat er betere alternatieven voor zijn maar dat we toch access moeten gebruiken

Bon , m'n tweede van de vijf was ook in orde.. Nu morgen al mn volgende en dan zaterdag en maandag nog een :cry:

Het zwaartepunt ligt bij jou precies nogal op de laatste dagen... Sterkte.

Torche

Legacy Member
In mijn eerste bachelor geologie had ik een vak programmeren in java, samen met de eerste bachelors informatica en fysica. Begrijpen wie begrijpen kan.
Interesseerde me geen bal en kon daar geen zak van, dus mijn practicum (op 12 vd 20 punten) door iemand anders laten maken (voor 6 flessen ice-tea, haha). Viel wel door de mand bij mijn verdediging. Uiteindelijk toch nog 10 op 20 gehaald.

Amnesiac

Legacy Member
Matt. zei:
Werkt niet eh.

Heb wat aanpassingen gedaan en ik zie niet echt in waarom dit niet zou werken:
Code:
String bs = "Dit is een boodschap aan de wereld";
int max = 0;
char let = '*';
int tel=1;
for (int i=0;i<bs.length();i++) {
  if(bs.charAt(i)==bs.charAt(i+1)){
    tel++;
    if(tel>max) {
      max=tel;
      let=bs.charAt(i);
    }
  }
  else tel=1;
}
System.out.println(max + " keer " + let);

Matt.

Legacy Member
Amnesiac zei:
Heb wat aanpassingen gedaan en ik zie niet echt in waarom dit niet zou werken:
Code:
String bs = "Dit is een boodschap aan de wereld";
int max = 0;
char let = '*';
int tel=1;
for (int i=0;i<bs.length();i++) {
  if(bs.charAt(i)==bs.charAt(i+1)){
    tel++;
    if(tel>max) {
      max=tel;
      let=bs.charAt(i);
    }
  }
  else tel=1;
}
System.out.println(max + " keer " + let);

1) uw i+1 gaat out of bounds
2) telt alleen aantal gelijke opeenvolgende tekens. Dus als uw tekst "aa" is krijgt ge 2. Als uw tekst "aaba" is, krijgt ge 2, terwijl ge 3 zou moeten krijgen.
3) als ge geen 2 opeenvolgende tekens hebt, blijft uw teller op 0 steken terwijl ge toch altijd minimum 1 moet hebben.

En dat voor een indie elektronica-ict. :naughty:

Amnesiac

Legacy Member
Matt. zei:
1) uw i+1 gaat out of bounds
2) telt alleen aantal gelijke opeenvolgende tekens. Dus als uw tekst "aa" is krijgt ge 2. Als uw tekst "aaba" is, krijgt ge 2, terwijl ge 3 zou moeten krijgen.
3) als ge geen 2 opeenvolgende tekens hebt, blijft uw teller op 0 steken terwijl ge toch altijd minimum 1 moet hebben.

Oei ja, ik dacht dat enkel het maximum opeenvolgende geteld moest worden.
En 1 en 3 zijn natuurlijk makkelijk op te lossen dingetjes.

Matt. zei:
En dat voor een indie elektronica-ict. :naughty:
Ja, zo programmeren 'in de lucht' is ook niet alles. :(

Nicske91

Legacy Member
Ik zal ook nog eens zoeken, maar de complexiteit van het algoritme is toch O(n²)? Toch al bedankt ;)

gilbereke

Legacy Member
Matt. zei:
IBS, ja, en het erge is dat sommige mensen "niet geloven" dat zoiets bestaat omdat het een uitsluitingsdiagnose is en omdat je (met een beetje geluk) vaak weken/maanden gezond bent, wat voor sommige mensen raar overkomt bij een chronische ziekte... Meeste dagen is het wel ok, maar soms moet ik thuisblijven omdat ik geen weg kan... Erg irritant als je afgesproken hebt en last-minute moet afzeggen, want kan plots opzetten. Er is ook geen medicatie die echt helpt, of toch geen die langdurig kan ingenomen worden (ik heb de IBS-D variant, medicatie daarvoor zijn opiaten/opioiden, vrij verslavende medicatie). De wiki-pagina heeft een goed overzicht van hoe lastig het soms kan zijn. :)

Nog paar uur geslapen en hoofdpijn is toch ietsje beter, eens proberen te leren. Ga gewoon oefeningen bekijken, 3/4 van het examen zijn oefeningen dus met een beetje geluk... Niets te verliezen gelukkig.

Dan hebt ge toch een erge vorm van IBS ja.

En idd, IBS is een diagnose die gewoon zegt dat ze niet weten wat het is...

IBS is niet meer dan een verzamelnaam uiteindelijk.

Onlangs hebben ze trouwens ontdekt dat bij veel patienten het een gevolg was van een virale infectie..

En idd, net zoals sommige andere ziektes snappen mensen het niet dat je zoiets kan hebben. Mensen zijn nu eenmaal zo: als ze niet letterlijk zien dat er iets mis is, dan is er ook volgens hen niks mis..


PS. ge kent dan toch de digestive health smartbrief?

Matt.

Legacy Member
Nicske91 zei:
Ik zal ook nog eens zoeken, maar de complexiteit van het algoritme is toch O(n²)? Toch al bedankt ;)

Complexiteit van uw oorspronkelijke is n² ja, die waartoe ik de aanzet gaf is n (denk ik);

gilbereke zei:
PS. ge kent dan toch de digestive health smartbrief?

Nee? Wat is dat?

Dennoman

Legacy Member
Jackall4ever zei:
Gebuisd voor bedrijfskunde? Shame on you :p
Bij informatica heb ik alleszins enorm veel sjans dat ik mij nog redelijk wat herinner omdat dit het laatste examen was in 1ste zit
Bedrijfskunde =/= bedrijfseconomie I presume? :p was bij ons zowat het grootste buisvak uit heel de minor, daarvoor waren echt zo weinig mensen door in eerste zit dat het genant was :p

Burrid

Legacy Member
Torche zei:
In mijn eerste bachelor geologie had ik een vak programmeren in java, samen met de eerste bachelors informatica en fysica. Begrijpen wie begrijpen kan.
Interesseerde me geen bal en kon daar geen zak van, dus mijn practicum (op 12 vd 20 punten) door iemand anders laten maken (voor 6 flessen ice-tea, haha). Viel wel door de mand bij mijn verdediging. Uiteindelijk toch nog 10 op 20 gehaald.

Hier is het in 2e bach geologie, en hebben het samen met 1e bach chemie.
Men doelt op werken met VBA in word en excel (en nog wat macro's), gericht naar het schrijven van wetenschappelijke artikels of andere wetenschappelijke werken.

Die macro's zijn wel nog handig voor repetitieve taakjes.

gilbereke

Legacy Member
Matt. zei:
Nee? Wat is dat?

Ah ik dacht dat ge dat zeker zou kennen. Is een van de grootste communities rond maag-darmproblemen en zitten veel mensen die over IBS publiceren enzo.

Kielse

Legacy Member
Studeren voor 1 herexamen, en waar je dan nog een 9,4 voor had is ook niet alles:doh:
En om het nog rottiger te maken, tis organische chemie:puke:

Dennoman

Legacy Member
Soit, ik ben er ook vanaf. Bezig sinds de 20ste (sociologie) en 18 dagen is best wel lang voor een herexamenperiode :s Lang niet zo erg als mijn langste examenperiode ooit (dat was toch een 34-35 dagen ofzo), maar als ge iets tijdens de vakantie moet doen is het altijd moordend.

Iedereen nog alle succes en ik ga mijn slaaptekort van deze nacht wegens regen/zenuwen een stukske inhalen.

wtf?hax!kthxbye

Legacy Member
Kan er mij iemand zeggen of criminologie een deftige richting is of niet?
Ik ken een persoon die dit gaat doen, maar die is serieus achterlijk.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan