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

Đề tài: vấn đề xuất mảng

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

    Mặc định vấn đề xuất mảng

    Em đang làm bài về mảng tăng dần, khi nhập mảng 1.2.3.4.5 nhưng khi xuat ra tăng dần thi ra như vậy: 1 2 3 4-858993460, ko hiểu vì sao
    Code:
    #include<stdio.h>
    #include<conio.h>
    void main ()
    {
    	int mang[10];
    	int i,j,tam,n;
    	printf("Nhap vao so luong phan tu: ");
    	scanf("%d",&n);
    	for (i=0;i<n;i++)
    	{
    		printf("Nhap vao so thu %d ",i+1);
    		scanf("%d",&mang[i]);
    	}
    	for (i=0;i<n-1;i++)
    				for (j=i+1;j<n;j++);
    		{
    			if ( mang[i]>mang[j] )
    			{
    				tam=mang[i];
    				mang[i]=mang[j];
    				mang[j]=tam;
    			}
    		}
    		//xuat mang
    	for (i=0;i<n;i++)
    			printf("%7d",mang[i]);
    	getch();
    }

  2. #2
    Ngày gia nhập
    10 2008
    Bài viết
    85

    dạ em bó chiếu vấn đề là ở đây

    C Code:
    1. for (j=i+1;j<n;j++);

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

    Trích dẫn Nguyên bản được gửi bởi thanhhung_611 Xem bài viết
    for (i=0;i<n-1;i++)
    for (j=i+1;j<n;j++);
    {
    if ( mang[i]>mang[j] )
    {
    tam=mang[i];
    mang[i]=mang[j];
    mang[j]=tam;
    }
    }

    [/CODE]
    Lệnh trong Vòng for rỗng.Bỏ cái dấu ; đi,thì bài toán đúng.

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

    vong for rỗng là sao hở bạn, chỉ cần sửa lại như bạn phuong là chạy đc rồi...hichic. sẵn cho em hỏi cái này luôn, cũng là xuất mảng,đề bài: nhập vào mảng a, sau đó lấy các số ng tố sang mảng b và xuất ra, nhưng khi em xuất ra thì nó ko chịu ra
    Code:
    #include<stdio.h>
    #include<conio.h>
    
    int LA_SNT (int n)
    {
    	int i,dem;
    	dem=0;
    	for (i=1;i<=n;i++)
    		if (n%i==0)
    			dem++;
    		if (dem==2)
    			return 1;
    		return 0;
    }
    void main()
    {
    	int a[10],na,b[10],nb,i,k;
    	nb=0;
    	printf("Nhap vao so luong phan tu mang: ");
    	scanf("%d",&na);
    	for (i=0;i<na;i++)
    	{
    		printf("Nhap vo phan tu thu %d ",i+1);
    		scanf("%d",&a[i]);
    	}
    	if (LA_SNT(a[i])==1)
    	{
    		b[nb]=a[i];
    		nb++;
    	}
    	//xuat mang b
    		printf("Cac phan tu cua mang b la: ");
    		for (k=0;k<nb;k++)
    			printf("%d",b[k]);
    		printf("\n");
    		getch();
    }

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    85

    - rỗng là vòng for của bạn không có biểu thức nào bên trong ấy, bạn cho vòng for chạy rồi ; luôn đó nghĩa là rỗng
    - Mình đang ở ngoài quán nét không có biên dịch mình sửa bằng notepad không biết chuẩn chưa bạn tham khảo nhé ):



    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. int LA_SNT (int n)
    4. {
    5.     int i;
    6.              if(n==2) return 1;
    7.     for (i=2;i<n;i++)
    8.     {
    9.         if (n%i==0)
    10.             return 0;
    11.     }
    12.         return 1;
    13.        
    14. }
    15. void main()
    16. {
    17.     int a[10],na,b[10],nb=0,i,k;
    18.     nb=0;
    19.     printf("Nhap vao so luong phan tu mang: ");
    20.     scanf("%d",&na);
    21.     for (i=0;i<na;i++)
    22.     {
    23.         printf("Nhap vo phan tu thu %d ",i+1);
    24.         scanf("%d",&a[i]);
    25.     }
    26.     for(i=0;i<na;i++)
    27.     {
    28.         if (LA_SNT(a[i])==1)
    29.         {
    30.             b[nb]=a[i];
    31.             nb++;
    32.         }
    33.     }
    34.     //xuat mang b
    35.         printf("Cac phan tu cua mang b la: ");
    36.         for (k=0;k<nb;k++)
    37.             printf("%3d",b[k]);
    38.         getch();
    39. }
    Đã được chỉnh sửa lần cuối bởi minhphuong90 : 06-12-2008 lúc 05:34 PM.

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

    Mặc định vấn đề xuất mảng

    PHP Code:
    int LA_SNT (int n)
    {
        
    int i;
                 if(
    n==2) return 1;
        for (
    i=1;i<n;i++)
        {
            if (
    n%i==0)
                return 
    0;
        }
            return 
    1;
           

    Bạn viết nhầm 1 chút , vòng for phải bắt đầu từ 2 vì bắt đầu từ 1 thì số nào chia cho 1 cũng dư là 0 thì đều ko phải là số nguyên tố.
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  7. #7
    Ngày gia nhập
    10 2008
    Bài viết
    85

    ặ ặc nhầm cái lỗi không đáng có( đáng đánh quá), hì hì mình không để ý. Do đang ở ngoài quán nên không có biên dịch.

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

    nhưng các bác ai em vẫn xuất ra ko đc, và có 1 điều là vấn đề ko phải là ở hàm LA_SNT (cũng ko biết vấn đề ở đâu),vì thuật toán trong hàm LA_SNT của em chắc ko sai đâu

  9. #9
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Code:
    /* sap xep thu tu cac so bang phuong phap con tro*/
    #include<stdio.h>
    #include<conio.h>
    #define MAX 100
    #define ESC 27
    
    
    /* mo ta ham*/
    void nhap(float *A,int n)
    {
      int i;
      for(i=1;i<n+1;i++)
        {
          printf("\n Nhap A[%d]=",i);
          scanf("%f",(A+i));
        }
    }
    
    
    void sapxep(float *A,int n)
    {
      int i,j;float trunggian;
      for(i=1;i<n+1;i++)
       {
        for(j=i+1;j<n+1;j++)
          {
           if(*(A+i)>*(A+j))
             {
               trunggian=*(A+i);
               *(A+i)=*(A+j);
               *(A+j)=trunggian;
             }
          }
       }
    }
    
    
    void in(float *A, int n)
    {
       int i;for(i=1;i<n+1;i++)
        {
          printf("\n phan tu A[%d]=%6.2f",i,*(A+i));
        }
    }
    
    
    /* chuong trinh chinh*/
      void main()
    {
         int d;
         do
               {
                 float A[MAX];int n;  clrscr();
                 printf("\n nhap n=");scanf("%d",&n);
                 nhap(A, n);
                 sapxep(A, n);
                 in(A,n);     
                 printf(" \n\nBam ESC de tiep tuc");d=getch(); 
               }
          while(d==ESC); printf("\n\nKETTHUC");
          getch();
    }
    thử chạy với con này xem

  10. #10
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    nhưng các bác ai em vẫn xuất ra ko đc, và có 1 điều là vấn đề ko phải là ở hàm LA_SNT (cũng ko biết vấn đề ở đâu),vì thuật toán trong hàm LA_SNT của em chắc ko sai đâu
    Ô kìa, đọc thì không đọc cứ hỏi loạn lên. Minhphuong đã sửa code cho bạn rồi còn gì. Không thì sửa như này cũng được:
    C Code:
    1. void main()
    2. {
    3.     int a[10],na,b[10],nb,i,k;
    4.     nb=0;
    5.     printf("Nhap vao so luong phan tu mang: ");
    6.     scanf("%d",&na);
    7.     for (i=0;i<na;i++)
    8.     {
    9.         printf("Nhap vo phan tu thu %d ",i+1);
    10.         scanf("%d",&a[i]);
    11.    
    12.             if (LA_SNT(a[i])==1)
    13.            {
    14.                b[nb]=a[i];
    15.                nb++;
    16.                 }
    17.     }
    18.     //xuat mang b
    19.         printf("Cac phan tu cua mang b la: ");
    20.         for (k=0;k<nb;k++)
    21.             printf("%d",b[k]);
    22.         printf("\n");
    23.         getch();
    24. }

    Hàm nguyên tố của bạn không sai nhưng nó famer . Vấn đề này đã được bàn rất nhiều trên diễn đàn, hãy search để kiểm các thuật giải tốt hơn.

    Bạn tham khảo thêm code của coder để biết cách dùng chương trình con.

    Solved.OK!

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

  1. Lập trình C++ Mình muốn hỏi về bài toán tìm số lần xuất hiện của ký tự nhiều nhất trong chuỗi và số lần xuất hiện
    Gửi bởi ducky 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: 06-09-2013, 11:17 AM
  2. Lập trình C Xuất nhập file trong C kết quả xuất ra không đúng?
    Gửi bởi lamhoang100 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 05-06-2013, 05:38 PM
  3. Trả lời: 1
    Bài viết cuối: 14-12-2012, 04:55 PM
  4. Đếm các xâu thuận nghịch xuất hiện trong file và số lần xuất hiện của các xâu đó
    Gửi bởi orchidshl1 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 1
    Bài viết cuối: 19-09-2012, 10:47 AM
  5. Trả lời: 1
    Bài viết cuối: 27-04-2011, 09:30 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