Tips og triks for obligen

Her kommer ekstra informasjon om oblig 1, med litt tips og triks om hvordan komme igang, samt hvordan teste programmene man leverer!

 

 

 

Oppgave 1

Inputfiler for oppgave 1

For å kjøre en test kan du gjøre følgende:

$ javac *.java
$ java Teque < inputs/eksempel_input
3
5
9
5
1

Her antar vi at du har lastet ned inputfilene og plassert dem i mappen oppgave1/ som også inneholder Teque.java.

For å teste på større eksempler kan du gjøre følgende:

$ java Teque < inputs/input_100 | cmp - outputs/output_100

Dersom ingenting skjer passerer testen. Dersom det er noe galt vil du få en utskrift som ser slik ut:

$ java Teque < inputs/input_100 | cmp - outputs/output_100
- outputs/output_100 differ: char 1, line 1

Vi forventer ikke at programmet ditt er raskt nok til å håndtere alle testene. Løsningsforslaget løser input_1000000 på ca. 1 sekund.

Oppgave 3

For å lese inn input som et array kan main-metoden din se slik ut:

public static void main(String[] args) throws IOException {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    int[] sortedArray = in.lines().mapToInt(i -> Integer.parseInt(i)).toArray();
    // Oppgaven begynner her
}

For å teste programmet ditt kan du bruke programmet BalanceChecker.java.

$ seq 20 | java BalanceArray | java BalanceChecker

Dersom programmet gjør som det skal bør du få følgende utskrift:

Dette treet ser balansert ut!

Dersom programmet ditt inneholder en feil bør du i stedet se:

$ seq 20 | java BalanceArray | java BalanceChecker
Dette treet ser ikke helt balansert ut... prøv igjen!

Programmet bør fungere helt likt for oppgave (a) og (b). Altså kan du også kjøre følgende:

$ seq 20 | java BalanceHeap | java BalanceChecker
Dette treet ser balansert ut!
Publisert 7. sep. 2020 18:45 - Sist endret 11. sep. 2020 12:07