همین چند خط کد کوتاه اشکال زیبایی در محیط گرافیکی ایجاد می شود
, تنها با تغییر برخی اندازه ها اشکال جدیدی خلق می شود . برای این دو برنامه کوتاه فکر نکنم نیازی به هیج توضیحی باشد چون در هر کتاب آموزش C/C++ درباره برنامه نویسی در محیط گرافیکی مطلب گفته شده (تنها نکته لازم به ذکر این است که مسیرگرافیکی کتابخانه مبدل گرافیکی c++ درست داده شود مثلاً مسیر گرافیکی C++ من "C:\\tc\\bgi" می باشد , حواستان باشد که باید از \\ استفاده کنید نه از \ . ) Program 1 :
/
*/
//Essential Library
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int gdriver = DETECT;
int gmode,errorcode,a,b,s;
float k,x,y,i,j;
float pi = 3.14159;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi");
errorcode = graphresult();
if ( errorcode != grOk)
{
exit(1);
}
s = 0;
setcolor(12);
do {
i = 38+100*cos(pi*s/190);
j = 175+100*sin(pi*s/190);
x = (int)i;
y = (int)j;
circle(x+s,y,(int)y/6);
s=s+3;
} while (s<550);
getch();
closegraph();// Return into text mode
return 0;
}//End of program
Program 2 :
*/
//Essential Library
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main(void)
{
int gdriver = DETECT;
int gmode,errorcode,i;
initgraph( &gdriver, &gmode,"c:\\tc\\bgi");
errorcode = graphresult();
if (errorcode != grOk)
{
exit(1);
}
setcolor(10);
i=0;
do{
i=i+1+(int)i/10;
line(120+i,i,520-i,i);
line(120+i,400-i,520-i,400-i);
line(520-i,400-i,520-i,i);
line(120+i,i,120+i,400-i);
} while (i<200);
getch();
closegraph(); //Return into text mode
return 0;//End of Programm
}
این کد زمان جاری سیستم را در خروجی چاپ می کند
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main()
{
clrscr();
struct tm * Current_Time ;
time_t lt;
lt = time (NULL);
Current_Time = localtime(<);
textcolor(13);
cprintf(asctime(Current_Time));
getch();
return 0;
}
برج هانوی , معمایی است که از سه میله و N دیسک با اندازه های متفاوت . فرض شود که اگر دیسکی روی یک میله باشد , فقط دیسکی که قطر آن کوچکتر است می تواند بالای آن قرار گیرد مسئله چنین است که هر بار فقط یک دیسک انتقال یابد .
را حل : این مسئله با استفاده از یک الگوریتم باز گشتی حل می شود .
-اگر فقط یک دیسک باشد آنگاه آن را به میله مورد نظر انتقال می دهیم .
-اگر n > 1 باشد ; برای این کار n-1 دیسک بالای میله 1 را به میله 2 انتقال می دهیم . حالا دیسک پایینی میله 1 را ثابت باقی می ماند . حال دیسک باقیمانده در در میله 1 را به میله 3 منتقل میکنیم . سرانجام بار دیگر بصورت بازگشتی الگوریتم را فرا خانده تا n - 1 دیسک میله دو را به 3 منتقل کند .
اکنون موفق شدیم n دیسک را از میله 1 به 3 منقل کنیم .
این مسئله در درسهایی مانند ساختمان گسسته و ساختمان داده مورد بحث وبررسی قرار می گیرد .Algorithmic solution is as follows
1) if TopN==1, move the single disc from A to C and stop.
2) Move the top n-1 discs from A to B, using C as Inter.
3) Move the remaining disc from A to C.
4) Move the n-1 discs from B to C, using A as destination(dest).
*/
#include <stdio.h>
#include <conio.h>
void tower(int,char,char,char); /*prototype*/
int main()
{
int ndisk;
clrscr();
printf("\n Enter number of disks <<<::: ");
scanf("%d",&ndisk);
tower(ndisk,'A','B','C'); /*Calling Function*/
getch();
return 0;
} /* End of program */