Pseudo-Grafik aus Funktionswerten



  • hi,

    ich sitze gerade an ner aufgabe, wo mir noch ein wenig die umsetzung in c++ fehlt.
    ich habe ein programm, dass 50 funktionswerte in einem array ablegt.
    die aufgabe ist es, diese funktionswerte in einer pseudografik ausgeben zu lassen.

    also so eine art koordinatensystem.
    x-achse = 50
    y-achse = 20

    das ganze soll dann an der stelle an der ein funktionswert ist ein x machen.
    also den graphen darstellen.

    ich hab die funktionswerte in nem array und ich habe ein 2-dimensionales array gemacht [20][50] und es mit leerzeichen gefüllt.

    meine überlegung war jetzt, ich lasse den größten wert suchen und die position an der er im feld funktionswerte steht soll gleich der position in der obersten zeile des koordinatensystemfeldes sein und an der stelle ein x machen( also z.b. [0][a] = ('x'). danach halt den/die nächstkleineren werte in die nächste zeile usw.

    und am ende lass ich einfach das koordinatensystemfeld ausgeben.

    mein problem liegt nun darin, wie ich herausbekomme, welches der größte wert ist, und wie ich die positionsnummer herausbekomme. und für den fall, dass es mehrere gleiche y werte gibt (die funktion ist ja ne kurve) wie ich das löse.

    vielen dank schonmal im voraus.

    gruß martin



  • also du hast ein

    char array[50]; // mit funktionswerten?
    

    im Bereich 0 < x < 20?

    dann machste:

    for( int y = 20; y > 1; --y ) {
            for( int i = 0; i < 50; i++ ) {
                if( array[i] == y )
                    putchar( 'x' );
                else
                    putchar( ' ' );
            }
            putchar( '\r' );
            putchar( '\n' );
        }
    

    und hast das ganze schön gezeichnet.

    HIH
    Greetz, Swordfish


Anmelden zum Antworten