Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 15 kết quả

Đề tài: Hàm xuatmang của mình viết đúng nhưng lại chạy sai, mọi người vô xem giúp mình nha ..!!

  1. #1
    Ngày gia nhập
    08 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    52

    Unhappy Hàm xuatmang của mình viết đúng nhưng lại chạy sai, mọi người vô xem giúp mình nha ..!!

    Code mình như thế này :
    Code:
    #include <stdio.h>
    #include <conio.h>
    void nhapmang(int A[],int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    	printf ("\n A[%d] = ",i);
    	scanf ("%d",A[i]);
    }
    }
    void xuatmang(int A[],int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    	printf ("%d ",A[i]);
    }
    }
    void daocho(int A[],int n)
    {
    int i,j,tg;
    for(i=0;i<n;i++)
    	for(j=n-1;j>i;j--)
    	{
    		if((A[j]%5==0)&&(A[j]%2!=0))
    		{
    			A[tg]=A[i];
    			A[i]=A[j];
    			A[j]=A[tg];
    		};
    		if((A[i]%5==0)&&(A[i]%2==0))
    		{
    			A[tg]=A[i];
    			A[i]=A[j];
    			A[j]=A[tg];
    		};
    	}
    }
    void daomang(int A[],int n)
    {
    int i,j,tg;
    for(i=0;i<n/2;i++)
    	for(j=n-1;j>i;j--)
    	{
    		A[tg]=A[i];
    		A[i]=A[j];
    		A[j]=A[tg];
    	}
    }
    void ganmang(int A[],int B[], int n)
    {
    int i;
    for(i=0;i<n;i++) B[i]=A[i];
    }
    void main ()
    {
    clrscr ();
    int A[100],B[100],n;
    printf ("Nhap n = ");
    scanf ("%d",&n);
    printf ("\n Nhap mang A gom %d phan tu: ",n);
    nhapmang(A,n);
    printf ("\n xuat mang A: ");
    xuatmang(A,n);
    ganmang(A,B,n);
    daocho(A,n);
    printf ("\n Mang A sau khi sapxep: ");
    xuatmang(A,n);
    daomang(B,n);
    printf ("\n Mang A sau khi dao mang: ");
    xuatmang(B,n);
    getch ();
    }
    hàm xuatmang mình vẫn viết như những chương trình khác, mà không hiểu sao trong chương trình nó chạy sai tùm lum hết :'( mình nghĩ là nó bị gì ở hàm xuatmang vì khi chạy hàm xuatmang ngay sau hàm nhapmang nó vẫn sai :( còn mấy hàm dưới chạy đúng không thì mình chưa test được do sai ngay từ đâu nên dưới thế nào thì không biết

  2. #2
    Ngày gia nhập
    05 2011
    Bài viết
    299

    sai như thế nào?
    ở hàm nhapmang, scanf("%d", &a[i]); thì phải
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  3. #3
    Ngày gia nhập
    08 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi rossoneri Xem bài viết
    sai như thế nào?
    ở hàm nhapmang, scanf("%d", &a[i]); thì phải
    ồ, thank pro nhiều, em thật lơ đãng quá, có lỗi nhỏ thế mà cũng tìm ko ra :( Mod del bài hộ em nha, câu này không đáng để hỏi ^^!

  4. #4
    Ngày gia nhập
    08 2011
    Nơi ở
    TPHCM quận Thủ Đức
    Bài viết
    48

    Trích dẫn Nguyên bản được gửi bởi thanhlinh.vietnam Xem bài viết
    Code mình như thế này :
    Code:
    #include <stdio.h>
    #include <conio.h>
    void nhapmang(int A[],int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    	printf ("\n A[%d] = ",i);
    	scanf ("%d",A[i]);
    }
    }
    void xuatmang(int A[],int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    	printf ("%d ",A[i]);
    }
    }
    void daocho(int A[],int n)
    {
    int i,j,tg;
    for(i=0;i<n;i++)
    	for(j=n-1;j>i;j--)
    	{
    		if((A[j]%5==0)&&(A[j]%2!=0))
    		{
    			A[tg]=A[i];
    			A[i]=A[j];
    			A[j]=A[tg];
    		};
    		if((A[i]%5==0)&&(A[i]%2==0))
    		{
    			A[tg]=A[i];
    			A[i]=A[j];
    			A[j]=A[tg];
    		};
    	}
    }
    void daomang(int A[],int n)
    {
    int i,j,tg;
    for(i=0;i<n/2;i++)
    	for(j=n-1;j>i;j--)
    	{
    		A[tg]=A[i];
    		A[i]=A[j];
    		A[j]=A[tg];
    	}
    }
    void ganmang(int A[],int B[], int n)
    {
    int i;
    for(i=0;i<n;i++) B[i]=A[i];
    }
    void main ()
    {
    clrscr ();
    int A[100],B[100],n;
    printf ("Nhap n = ");
    scanf ("%d",&n);
    printf ("\n Nhap mang A gom %d phan tu: ",n);
    nhapmang(A,n);
    printf ("\n xuat mang A: ");
    xuatmang(A,n);
    ganmang(A,B,n);
    daocho(A,n);
    printf ("\n Mang A sau khi sapxep: ");
    xuatmang(A,n);
    daomang(B,n);
    printf ("\n Mang A sau khi dao mang: ");
    xuatmang(B,n);
    getch ();
    }
    hàm xuatmang mình vẫn viết như những chương trình khác, mà không hiểu sao trong chương trình nó chạy sai tùm lum hết :'( mình nghĩ là nó bị gì ở hàm xuatmang vì khi chạy hàm xuatmang ngay sau hàm nhapmang nó vẫn sai :( còn mấy hàm dưới chạy đúng không thì mình chưa test được do sai ngay từ đâu nên dưới thế nào thì không biết
    Bạn bị sai ngay từ cái chỗ nhapmang rồi T_T a[100] là char bạn lại dùng int, khai báo như mình nhé, sr vì mình làm iostream riết quen rồi nên ko dùng printf hay scanf nhé, chịu khó tí ^^
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <iostream.h>
    void nhapmang(char a[100],int n)
    {
    	int i;
    	for(i=0;i<n;i++)
    	{
    	     cout<<"Nhap phan tu thu a["<<i<<"]: ";
                 cin>>a[i];
    	}
    }
    
    void main ()
    {
    	char a[100];
    	int n;
    	cout<<"Nhap so luong phan tu: ";
    	cin>>n;
    	cout<<"Nhap mang A gom " <<n<<" phan tu\n";
    	nhapmang(a,n);
    	getch ();
    }
    Kẻ nào bắt buộc nghe ai.
    Luôn luôn vẫn giữ ý sai của mình.

  5. #5
    Ngày gia nhập
    04 2011
    Nơi ở
    Heaven
    Bài viết
    90

    Trích dẫn Nguyên bản được gửi bởi laksjd8979343 Xem bài viết
    Bạn bị sai ngay từ cái chỗ nhapmang rồi T_T a[100] là char bạn lại dùng int, khai báo như mình nhé, sr vì mình làm iostream riết quen rồi nên ko dùng printf hay scanf nhé, chịu khó tí ^^
    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <iostream.h>
    void nhapmang(char a[100],int n)
    {
    	int i;
    	for(i=0;i<n;i++)
    	{
    	     cout<<"Nhap phan tu thu a["<<i<<"]: ";
                 cin>>a[i];
    	}
    }
    
    void main ()
    {
    	char a[100];
    	int n;
    	cout<<"Nhap so luong phan tu: ";
    	cin>>n;
    	cout<<"Nhap mang A gom " <<n<<" phan tu\n";
    	nhapmang(a,n);
    	getch ();
    }
    ai nói bạn sai ở kiểu int a[], đúng là nó sai ở phần nhập mảng nhưng mình nghĩ sai ở chỗ khác;
    cái chỗ khai báo nhập mảng phải là
    void Nhapmang(int a[],int& n); vì khi thực hiện thao tác nhập mảng làm thay đổi mảng ban đầu nên phải truyền tham chiếu cho n;
    còn nữa, scanf("%d",& a[i]) mới đúng; mình góp ý như thế
    I'll come back

  6. #6
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Mặc định Hàm xuatmang của mình viết đúng nhưng lại chạy sai, mọi người vô xem giúp mình nha ..!!

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. void nhapmang(int A[],int n)
    4. {
    5.    int i;
    6.    for(i=0;i<n;i++)
    7.    {
    8.       printf ("\n A[%d] = ",i);
    9.       scanf ("%d",&A[i]);  //sai chổ này
    10.    }
    11. }
    12. void xuatmang(int A[],int n)
    13. {
    14.    int i;
    15.    for(i=0;i<n;i++)
    16.    {
    17.     printf ("%d ",A[i]);
    18.    }
    19. }
    20. //Đoạn daocho tớ đọc không hiểu ý bạn muốn làm gì, có lẽ nhìn lạ quá
    21. void daocho(int A[],int n)
    22. {
    23.    int i,j,tg;
    24.    for(i=0;i<n;i++)
    25.       for(j=n-1;j>i;j--)
    26.       {
    27.          if((A[j]%5==0)&&(A[j]%2!=0))
    28.          {
    29.             A[tg]=A[i];
    30.             A[i]=A[j];
    31.             A[j]=A[tg];
    32.          }
    33.          if((A[i]%5==0)&&(A[i]%2==0))
    34.          {
    35.             A[tg]=A[i];
    36.             A[i]=A[j];
    37.             A[j]=A[tg];
    38.          }
    39.       }
    40. }
    41. /*
    42. void daomang(int A[],int n)
    43. {
    44.    int i,j,tg;
    45.    for(i=0;i<n/2;i++)
    46.          for(j=n-1;j>i;j--)//cái này bạn xem kĩ lại
    47.      {
    48.         A[tg]=A[i];
    49.         A[i]=A[j];
    50.         A[j]=A[tg];
    51.      }
    52. }*/
    53.  
    54. void daomang(int A[],int n)
    55. {
    56.    int i,tg;
    57.    for(i=0;i<n/2;i++)
    58.      {
    59.         A[tg]=A[i];
    60.         A[i]=A[n-i-1];
    61.         A[n-i-1]=A[tg];
    62.      }
    63. }
    64.  
    65. void ganmang(int A[],int B[], int n)
    66. {
    67.    int i;
    68.    for(i=0;i<n;i++) B[i]=A[i];
    69. }
    70. void main ()
    71. {
    72.    clrscr ();
    73.    int A[100],B[100],n;
    74.    printf ("Nhap n = ");
    75.    scanf ("%d",&n);
    76.    printf ("\n Nhap mang A gom %d phan tu: ",n);
    77.    nhapmang(A,n);
    78.    printf ("\n xuat mang A: ");
    79.    xuatmang(A,n);
    80.    ganmang(A,B,n);
    81.    daocho(A,n);
    82.    printf ("\n Mang A sau khi sapxep: ");
    83.    xuatmang(A,n);
    84.    daomang(B,n);
    85.    printf ("\n Mang A sau khi dao mang: ");
    86.    xuatmang(B,n);
    87.    getch ();
    88. }
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

  7. #7
    Ngày gia nhập
    08 2010
    Nơi ở
    Đà Nẵng
    Bài viết
    52

    Trích dẫn Nguyên bản được gửi bởi azurelonely Xem bài viết
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. void nhapmang(int A[],int n)
    4. {
    5.    int i;
    6.    for(i=0;i<n;i++)
    7.    {
    8.       printf ("\n A[%d] = ",i);
    9.       scanf ("%d",&A[i]);  //sai chổ này
    10.    }
    11. }
    12. void xuatmang(int A[],int n)
    13. {
    14.    int i;
    15.    for(i=0;i<n;i++)
    16.    {
    17.     printf ("%d ",A[i]);
    18.    }
    19. }
    20. //Đoạn daocho tớ đọc không hiểu ý bạn muốn làm gì, có lẽ nhìn lạ quá
    21. void daocho(int A[],int n)
    22. {
    23.    int i,j,tg;
    24.    for(i=0;i<n;i++)
    25.       for(j=n-1;j>i;j--)
    26.       {
    27.          if((A[j]%5==0)&&(A[j]%2!=0))
    28.          {
    29.             A[tg]=A[i];
    30.             A[i]=A[j];
    31.             A[j]=A[tg];
    32.          }
    33.          if((A[i]%5==0)&&(A[i]%2==0))
    34.          {
    35.             A[tg]=A[i];
    36.             A[i]=A[j];
    37.             A[j]=A[tg];
    38.          }
    39.       }
    40. }
    41. /*
    42. void daomang(int A[],int n)
    43. {
    44.    int i,j,tg;
    45.    for(i=0;i<n/2;i++)
    46.          for(j=n-1;j>i;j--)//cái này bạn xem kĩ lại
    47.      {
    48.         A[tg]=A[i];
    49.         A[i]=A[j];
    50.         A[j]=A[tg];
    51.      }
    52. }*/
    53.  
    54. void daomang(int A[],int n)
    55. {
    56.    int i,tg;
    57.    for(i=0;i<n/2;i++)
    58.      {
    59.         A[tg]=A[i];
    60.         A[i]=A[n-i-1];
    61.         A[n-i-1]=A[tg];
    62.      }
    63. }
    64.  
    65. void ganmang(int A[],int B[], int n)
    66. {
    67.    int i;
    68.    for(i=0;i<n;i++) B[i]=A[i];
    69. }
    70. void main ()
    71. {
    72.    clrscr ();
    73.    int A[100],B[100],n;
    74.    printf ("Nhap n = ");
    75.    scanf ("%d",&n);
    76.    printf ("\n Nhap mang A gom %d phan tu: ",n);
    77.    nhapmang(A,n);
    78.    printf ("\n xuat mang A: ");
    79.    xuatmang(A,n);
    80.    ganmang(A,B,n);
    81.    daocho(A,n);
    82.    printf ("\n Mang A sau khi sapxep: ");
    83.    xuatmang(A,n);
    84.    daomang(B,n);
    85.    printf ("\n Mang A sau khi dao mang: ");
    86.    xuatmang(B,n);
    87.    getch ();
    88. }
    Cái daocho là mình xếp các phần tử lẻ và chia hết cho 5 lên đầu mảng và các phần tử chẵn và chia hết cho 5 xuống cuối mảng, có lẽ do thuật toán chưa tối ưu lắm nên bạn nhìn khó hiểu, mà cũng có thể do mình đặt tên mảng khó hiểu nữa, hihi ^^!
    Àh, Thank bạn lun cái daomang nha, mình bị sai chỗ nok mà chưa phát hiện ra, hehe

  8. #8
    Ngày gia nhập
    05 2011
    Bài viết
    299

    @laksjd8979343: cái int a[] thì vì sao sai thế bạn ???
    @stupid_genius: bạn ấy nhập n trong hàm main nên không cần phải truyền tham chiếu đâu bạn à
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  9. #9
    Ngày gia nhập
    04 2011
    Nơi ở
    Heaven
    Bài viết
    90

    ừ mình không đọc kĩ, thanks
    I'll come back

  10. #10
    Ngày gia nhập
    08 2011
    Nơi ở
    TPHCM quận Thủ Đức
    Bài viết
    48

    Trích dẫn Nguyên bản được gửi bởi rossoneri Xem bài viết
    @laksjd8979343: cái int a[] thì vì sao sai thế bạn ???
    @stupid_genius: bạn ấy nhập n trong hàm main nên không cần phải truyền tham chiếu đâu bạn à
    Cái đó mình sai tại mình đó giờ ko quen kiểu code này, chỉ code theo kiểu mình ghi ở trên thôi. Dùng "iostream.h" tiện lợi hơn, đỡ rắc rối hơn và dễ dàng hơn. Vì mình chưa dùng int a[] bao giờ nên phần này mình phát biểu sai, chủ pic bỏ qua nhé. Và bài code của mình cũng đã giải quyết vấn đền cho chủ pic rồi đấy, ko chịu đọc... này nọ @@
    Đã được chỉnh sửa lần cuối bởi laksjd8979343 : 09-08-2011 lúc 07:17 PM.
    Kẻ nào bắt buộc nghe ai.
    Luôn luôn vẫn giữ ý sai của mình.

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

  1. Lập trình C giúp em với viết code đúng mà không hiển thị màn hình!
    Gửi bởi gato trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 16-10-2012, 05:34 PM
  2. Bài tập C Thiết kế mạch điện ghép nối mạch phát còi báo động qua cổng LPT. Code viết bằng C chạy không đúng như muốn!
    Gửi bởi mottraitims 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: 18-05-2012, 04:33 AM
  3. Bài toán Nước đọng trên VNOI viết bằng C. Chạy không đúng...
    Gửi bởi minhtuan.a0 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 5
    Bài viết cuối: 22-11-2011, 01:42 PM
  4. Viết lại hàm qsort chạy không đúng?
    Gửi bởi j3amboo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 05-06-2011, 01:22 PM
  5. Code kiểm tra dãy cấp số cộng bằng C. Kiểm tra giúp mình xem chạy đúng không?
    Gửi bởi rong3sao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 7
    Bài viết cuối: 11-04-2009, 09:25 AM

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