Sad nije navedeno koji grafičkim bibliotekam moraš to iscrtat ( vjerovatno GDI+ preko čistog WinAPI-a
http://msdn.microsoft.com/en-u...y/ms533798(VS.85).aspx).Neznam se tim služiti ( baš se priprema ovih dana to proći ) ali to je sasvim jednostavno, u ostalom to ste valjda učili kad vam je profesor dao takvam zadatak. Inače ako se netraži način kako se iscrtaje možeš napraviti običnu kozolnu aplikaciju i sve iscrtati pomoću simbola.
Koliko znam odnosno ne znam matematiku mislim da graf možeš dobiti na dva načina:
1. Službeni način:
Prvo trebaš prepoznat o kakvoj je funkciji riječ ( linerna , kavdratna, racionalna...), a ond uradiš potrebne radnje . Recimo:
y = 1 / (1-x^2)
Domena = R\{-1,1}
Vertikalna asimptota kad limes teži u -1 i 1 = beskončno je -1, 1
Horizontaln kad limes teži u +-bekončno = 0 je 0
minimum ( 0, 1 )
dakle, getline ( cin, input );
If ( input ) sadrži '/' vrst = racionalna
If ( input ) sadrži '^' vrst = eksonencijalna
If ( input ) sadrži "sin" OR "tgn" OR ''ctgn" vrst = trigonometrijska
If........
Onda switch ( vrsta )
{
case racinalan:
FunkcijaRacionalna()
break;
case ....
..
...
...
FunkcijaRacinalna ()
{
Odredi što je nazivnik a što brojnik u inputu
dobij nultočke
uvrsti nultočke u limes i dobij asimptote
oderdi ekstreme
...
pozovi funkciju Crtaj()
}
Crtaj ()
{
Ovisno o udaljenostima između asimptota i ekstrema simbolima ću npravit pad ili rast grafa..
}
2. Lagani način ( bar mislim da se ovako može dobit graf funkcije )
samo uvrštavš u jednoj petlji točke u X i dobivaš y
x|-3|-2|-1|0 |0,5 |1 |2 |.......
y| 0,125|0,33|nema y|1|1.33|nema y|0,33|.....
Sad samo napraviš nekakvi kordinatni x,y sustav na konzoli ili formi i simbolima ili GDI+ nacrtaš točkice
Code:
|
|
|
|
|
|
|
|
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
|||
|
|
|
|
.............................................................................
| | * *
| | *
| | *
| | *
| *
* | *
* | *
* | *
* *
* *
* *
* *