Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » ASCII Plot

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.06.2004, 11:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Zu Schreiben ist ein Programm, welches eine Sinuskurve in einer Konsole darstellt. Der einfachheit nehmen wir an, die Konsole hätte 80 Spalten und 25 Zeilen. Eine Zeile entspricht 0.1 und eine Spalte 0.05*PI. Der Ursprung des Koordinatensystems liegt in Zeile 13, spalte 40.

Zu Malen eines Punktes kann folgende Funktion verwendet werden:

C++:
void plot_point(int line, int col)
{
    fprintf(stderr, "\x1b[%d;%dH*", line, col);
}


(Unter Windows ANSI.SYS erfoderlich!)
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 11.06.2004 um 11:38 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.06.2004, 15:37 Uhr
virtual
Sexiest Bit alive
(Operator)


Hm,
hat keiner Lust? - Dann spiel ich eben mit mir selber!

C++:
#include <stdio.h>
#include <math.h>


void set(int line, int col)
{
    fprintf(stderr, "\x1b[%d;%dH*", line, col);
}


#define WIDTH 80
#define HEIGHT 25
#define ORG_X 40
#define ORG_Y 13


int main()
{
    int c;
    int l;
    int o = -1;
    long double x;
    long double y;

    fprintf(stderr, "\x1b[2J;");
    for(c=0; c<WIDTH; ++c)
    {
        x = 0.05*M_PI*(c-ORG_X);
        y = sin(x);
        l = HEIGHT-(y/0.1)-ORG_Y;
        set(l,c+1);
        if (o!=-1 && (l-o<-1 || l-o>1))
        {
            while (o<l-1) set(++o, c);
            while (o>l+1) set(--o, c);
        }
        o = l;
    }
}


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.06.2004, 22:17 Uhr
(un)wissender
Niveauwart


Tust du das nicht es öfter.
Deine Motivation in Ehren, aber die Uni drückt, habe nicht viel Zeit!
Bis dann.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.06.2004, 10:14 Uhr
KaraHead



@virtual:
Ganz im gegenteil, als her mit den Rätseln aber wenn's geht ein paar leichtere.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: