• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
تعداد مطالب : 1
تعداد نظرات : 0
زمان آخرین مطلب : 6894روز قبل
کامپیوتر و اینترنت
همین چند خط کد کوتاه اشکال زیبایی در محیط گرافیکی ایجاد می شود , تنها با تغییر برخی اندازه ها اشکال جدیدی خلق می شود . برای این دو برنامه کوتاه فکر نکنم نیازی به هیج توضیحی باشد چون در هر کتاب آموزش 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 */
يکشنبه 4/6/1386 - 20:57
مورد توجه ترین های هفته اخیر
فعالترین ها در ماه گذشته
(0)فعالان 24 ساعت گذشته