CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: Java

Jan Aufgabe 1

135 Views
Copy Code Show/Hide Line Numbers
// jan aufgabe 1
// version 1
 
void drehUm() {
    linksUm();
    linksUm();    
}
 
void rechtsUm() {
    drehUm();
    linksUm();    
}
 
//ist links frei ?
boolean linksFrei() {
    boolean frei=false;
    linksUm();
    if(vornFrei())frei=true;
    rechtsUm();
    return frei;
}
 
//bestimmt die grösse des arrays
int[] arrayBestimmen() {
    int index=1;
    for(;vornFrei();index++)vor();
    drehUm();
    while(vornFrei())vor();
    drehUm();
    int[] array=new int[index+1];
    array[0]=index;
    return array;
}
 
//positionieren für daten-einlesung
void positioning(int modus) {
    switch(modus) {
        case 1:
            rechtsUm();
            do vor();
            while(!linksFrei());
            linksUm();
            while(vornFrei())vor();
            drehUm(); break;
        case 2:
            while(vornFrei())vor();
            rechtsUm();
            while(vornFrei())vor();
            rechtsUm();            
    }
}
 
//daten einlesen und vom dualen ins zehner system wandeln (alle reihen)
int[] dataInput(int[] array)
{
    int dezimal=0,reihe=-1,x=0;
    positioning(1);
    while(reihe<array[0]-1) {
        for(x=0,dezimal=0,reihe++;x<array[0]-1;x++) {
            if(kornDa())dezimal+=Math.pow(2,x);
            vor();            
        }
        drehUm();
        while(vornFrei())vor();
        rechtsUm();
        if(reihe!=array[0]-1) {
            vor();
            rechtsUm();
        }
        else rechtsUm();
        array[reihe+1]=dezimal;
    }
    return array;
}
 
//array sortieren
int[] bubbleSort(int[] array) {
    boolean sortiert=true;
    int x=1;
    positioning(2);
    do 
        for(x=1,sortiert=true;x<array[0];x++)
            sortiert=arrayTauschen(array,x,x+1,sortiert);
    while(!sortiert);            
    return array;
}
 
//array-positionen vertauschen
boolean arrayTauschen(int[] array,int a,int b,boolean sortiert) {
    int swap=0;
    if(array[a]<array[b]) {
        swap=array[b];
        array[b]=array[a];
        array[a]=swap;
        return false;
    }
    if(sortiert)return true;
    return false;
}
 
//array als körner aufs feld schreiben
void schreiben(int[] array) {
    for(int x=1;x<array[0]+1;x++) {
        for(int i=0;i<array[x];i++)
            gib();
        if(vornFrei())vor();
    }
}
 
//    array-grösse bestimmen, danach binäre daten in dezimale umwandeln und ins array schreiben, dann array sortieren 
//    und zum schluss mit körnern schreiben
void main() {
    schreiben(bubbleSort(dataInput(arrayBestimmen())));
}
by faithz
  March 19, 2010 @ 3:31pm

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate