Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Anh em sử dum code nay

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    5

    Mặc định Anh em sử dum code nay

    vẽ đoạn đoạn thẳng
    Code:
    /*thuat toan midden Point*/
    #include<conio.h>
    #include<stdio.h>
    #include<math.h>
    #include <graphics.h>
    #include <stdlib.h>
    //#define TRUE  1
    //#define FALSE 0
    
    typedef struct {
    	int x,y;
    } point;
    //typedef unsigned char BOOL;
    
    int MDline(point A,point B, point *KQPT)
    {
    
     int   x,y,dx,dy,count,i,p;
     point tPT;
     BOOL  f1= FALSE, f2= FALSE;
    
     /*truong hop song song truc toa do*/
     if(A.x==B.x)//song song 0Y
        	{
    	      if(A.y>B.y)
    	        {
    	            tPT=A;
                 A=B;
    	            B=tPT;
    	        }
    	      for(count=0,y=A.y;y<=B.y;y++)
    	         {
    
    	            KQPT[count].x=A.x;
    	            KQPT[count++].y=y;
    	        }  return count ;
    	   }
      if(A.y==B.y)// song song 0X
        {
           if(A.x>B.x)
    	        {
    	           tPT=A;
                A=B;
                B=tPT;
    	        }
    	      for(count=0,x=A.x;x<=B.x;x++)
    	          {
                   KQPT[count].x=A.x;
    	               KQPT[count++].y=x;
    	          }  return count ;
    	   }
      if(A.x>B.x)
        	{
    	      tPT=A ;
           A=B;
           B=tPT;
    	   }
    /*he so goc<0*/
      if(A.y>B.y)
       	{
    	      f1=TRUE;
    	      tPT=B;
          	B.x=2*B.x-A.x;
           B.x=A.y;
          	A=tPT;
    	}
    /*he so goc >1*/
       if((B.y-A.y)>(B.x-A.x))
    	     {
    	        f2=TRUE;
    	        x=A.x;
             A.x=A.y;
             A.y=x;
            	x=B.x;
             B.x=B.y;
             B.y=x;
    	    }
    /*tinh toan*/
    	  x=A.x;
    	  y=A.y;
    	  dx=B.x-A.x;
    	  dy=B.y-A.y;
    	  p=dy-dx/2;
      for(count=0;x<=B.x;x++)
        	{
    		 KQPT[count].x=x;
    	         KQPT[count++].y=y;
    	         if(p<=0)
    	           {
    	               	p+=dy;
    	           }
    	         else
                {
    		            y++;
    		            p+=dy-dx;
    	           }
    	   }
    /*kiem tra tinh hop le*/
      if(f2)
      for( i=0;i<count;i++)
    	 {
    	   x=KQPT[i].x;
    	   KQPT[i].x=KQPT[i].y;
    	   KQPT[i].y=x;
    	 }
      if(f1)
      for(i=0;i<count;i++)
    	  {
    	   KQPT[i].x=2*tPT.x-KQPT[i].x;
    	  }
     	return count;
    } 
    int main()
    {
    	int   i,count;point A,B;
    	point KQPT[640];
    
    	/* request auto detection */
    	int gdriver = DETECT, gmode, errorcode;
    
    	/*Nhap du lieu*/
    //	clrscr();
    	printf("Nhap toa do diem thu nhat:\n");
    	printf("\nxA="); scanf("%d",&A.x);
    	printf("\nyA="); scanf("%d",&A.y);
    	printf("Nhap toa do diem thu hai:\n");
    	printf("\nxB="); scanf("%d",&B.x);
    	printf("\nyB="); scanf("%d",&B.y);
    
    	/*Khoi dong che do do hoa*/
    	initgraph(&gdriver, &gmode, "D:\\TC\\BGI");
    	errorcode = graphresult();
    	if (errorcode != grOk)  /* an error occurred */
    	{
    		printf("Graphics error: %s\n", grapherrormsg(errorcode));
    		printf("Press any key to halt:");
    		getch(); 
    	exit(1);             /* return with error code */
    	}
    
    	/*Thuc hien ve*/
    	count= MDline(A,B, KQPT);
    	for(i= 0; i< count; i++)
    		putpixel(KQPT[i].x, KQPT[i].y,RED);
    	/*Ket thuc*/
    	getch();
    	closegraph();
    }

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    code bạn chạy tốt mà. bạn chạy trong console của win đôi khi hay gặp vấn đề. để dễ kiểm tra bạn nên nhập số lớn vào một tí, chẳng hạn như 10, 50, 100, ... Phía dưới là code mà mình sửa lại một tí, cũng ko nhiều lắm.

    C Code:
    1. /*thuat toan midden Point*/
    2. #include<conio.h>
    3. #include<stdio.h>
    4. #include<math.h>
    5. #include <graphics.h>
    6. #include <stdlib.h>
    7.  
    8. #define TRUE  1
    9. #define FALSE 0
    10. #define BOOL int
    11.  
    12. typedef struct {
    13.     int x,y;
    14. } point;
    15. //typedef unsigned char BOOL;
    16.  
    17. int MDline(point A,point B, point *KQPT)
    18. {
    19.  
    20.  int   x,y,dx,dy,count,i,p;
    21.  point tPT;
    22.  BOOL  f1= FALSE, f2= FALSE;
    23.  
    24.  /*truong hop song song truc toa do*/
    25.  if(A.x==B.x)//song song 0Y
    26.         {
    27.           if(A.y>B.y)
    28.             {
    29.                 tPT=A;
    30.              A=B;
    31.                 B=tPT;
    32.             }
    33.           for(count=0,y=A.y;y<=B.y;y++)
    34.              {
    35.  
    36.                 KQPT[count].x=A.x;
    37.                 KQPT[count++].y=y;
    38.             }  return count ;
    39.        }
    40.   if(A.y==B.y)// song song 0X
    41.     {
    42.        if(A.x>B.x)
    43.             {
    44.                tPT=A;
    45.             A=B;
    46.             B=tPT;
    47.             }
    48.           for(count=0,x=A.x;x<=B.x;x++)
    49.               {
    50.                KQPT[count].x=A.x;
    51.                    KQPT[count++].y=x;
    52.               }  return count ;
    53.        }
    54.   if(A.x>B.x)
    55.         {
    56.           tPT=A ;
    57.        A=B;
    58.        B=tPT;
    59.        }
    60. /*he so goc<0*/
    61.   if(A.y>B.y)
    62.     {
    63.           f1=TRUE;
    64.           tPT=B;
    65.         B.x=2*B.x-A.x;
    66.        B.x=A.y;
    67.         A=tPT;
    68.     }
    69. /*he so goc >1*/
    70.    if((B.y-A.y)>(B.x-A.x))
    71.          {
    72.             f2=TRUE;
    73.             x=A.x;
    74.          A.x=A.y;
    75.          A.y=x;
    76.             x=B.x;
    77.          B.x=B.y;
    78.          B.y=x;
    79.         }
    80. /*tinh toan*/
    81.       x=A.x;
    82.       y=A.y;
    83.       dx=B.x-A.x;
    84.       dy=B.y-A.y;
    85.       p=dy-dx/2;
    86.   for(count=0;x<=B.x;x++)
    87.         {
    88.          KQPT[count].x=x;
    89.              KQPT[count++].y=y;
    90.              if(p<=0)
    91.                {
    92.                     p+=dy;
    93.                }
    94.              else
    95.             {
    96.                     y++;
    97.                     p+=dy-dx;
    98.                }
    99.        }
    100. /*kiem tra tinh hop le*/
    101.   if(f2)
    102.   for( i=0;i<count;i++)
    103.      {
    104.        x=KQPT[i].x;
    105.        KQPT[i].x=KQPT[i].y;
    106.        KQPT[i].y=x;
    107.      }
    108.   if(f1)
    109.   for(i=0;i<count;i++)
    110.       {
    111.        KQPT[i].x=2*tPT.x-KQPT[i].x;
    112.       }
    113.     return count;
    114. }
    115. int main()
    116. {
    117.     int   i,count;point A,B;
    118.     point KQPT[640];
    119.  
    120.     /* request auto detection */
    121.     int gdriver = DETECT, gmode, errorcode;
    122.  
    123.     /*Nhap du lieu*/
    124. //  clrscr();
    125.     printf("Nhap toa do diem thu nhat:\n");
    126.     printf("\nxA="); scanf("%d",&A.x);
    127.     printf("\nyA="); scanf("%d",&A.y);
    128.     printf("Nhap toa do diem thu hai:\n");
    129.     printf("\nxB="); scanf("%d",&B.x);
    130.     printf("\nyB="); scanf("%d",&B.y);
    131.  
    132.     /*Khoi dong che do do hoa*/
    133.     initgraph(&gdriver, &gmode, "C:\\BC31\\BGI");
    134.     errorcode = graphresult();
    135.     if (errorcode != grOk)  /* an error occurred */
    136.     {
    137.         printf("Graphics error: %s\n", grapherrormsg(errorcode));
    138.         printf("Press any key to halt:");
    139.         getch();
    140.     exit(1);             /* return with error code */
    141.     }
    142.  
    143.     /*Thuc hien ve*/
    144.     count= MDline(A,B, KQPT);
    145.     for(i= 0; i< count; i++)
    146.         putpixel(KQPT[i].x, KQPT[i].y,12);
    147.     /*Ket thuc*/
    148.     getch();
    149.     closegraph();
    150. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    5

    thank bạn minh dung dev c ++ thi nó báo lỗi cannot find -lobjc
    ld returned 1 exit status bạn có biết tại sao không mình đã cài thêm thu­ viện đồ họa và chỉnh lại đuo­ng đẫn

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình ko chắc lắm, nhưng mình nghĩ nó thiếu file obj. Bạn hãy dùng tiện ích BgiObj để tạo file .obj từ file .bgi
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

Các đề tài tương tự

  1. Tại sao lại bỏ Store Proceduce nếu code theo hướng Code First trong MVC3
    Gửi bởi rogerminh2401 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 02-11-2012, 08:22 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Bài tập C++ Nhập code và name sv vào in ra thì name in đúng nhưng code thì in ra cả 2 code lẫn name
    Gửi bởi spacy0212 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 27-09-2011, 08:47 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn