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

Đề tài: Sắp xếp các số dương trong mảng các số thực tăng dần các số âm giữ nguyên vị trí???

  1. #1
    Ngày gia nhập
    03 2009
    Nơi ở
    Ho Chi Minh City, Vietnam, Vietnam
    Bài viết
    58

    Mặc định Sắp xếp các số dương trong mảng các số thực tăng dần các số âm giữ nguyên vị trí???

    Không biết sai chỗ nào anh em chỉ hộ.
    Đề bài: Hãy sắp xếp các số dương trong mảng các số thực tăng dần các số âm giữ nguyên vị trí của chúng trong mảng.
    //261:Hay sap xep cac so duong trong mang cac so thuc tang dan cac so am giu nguyen vi tri cua chung trong mang(sapxepduong).
    Code:
    #include<stdio.h>
    #include<conio.h>
    void nhap(float a[],int n)
    {
    	printf("Nhap so phan tu co trong mang a  =");
    	scanf("%d",&n);
    	for(int i=0;i<n;i++)
    	{
    		printf("Nhap a[%d]=",i+1);
    		scanf("%f",&a[i]);
    	}
    }
    void xuat(float a[],int n)
    {
    	printf("\nCac gia tri trong mang gom:");
    	for(int i=0;i<n;i++)
    		printf("%3.3f\t",a[i]);
    }
    void sapxep(float a[],int n)
      {
                  for (int i=0;i<n;i++)
                  {
                              if (a[i]>0)
                              {
                                          for (int j=i+1;j<n;j++)
                                          {
                                                      if (a[j]>0 && a[i]>a[j])
                                                      {
                                                                  float temp=a[i];
                                                                  a[i] = a[j];
                                                                  a[j]=temp;
                                                      }
                                          }
                              }                      
                  }
    			  for(i=0;i<n;i++)
    				  printf("%3.3f\t",a[i]);
      }
    void main()
    {
    	float a[100];
    	int n;
    	nhap(a,n);
    	xuat(a,n);
    	sapxep(a,n);
    	getch();
    }

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Lỗi do không cấp phát cho n

    đã fix toàn bộ chỗ sai :

    C Code:
    1. #include<stdio.h>
    2.  
    3. void nhap(float a[],int  *n)
    4. {
    5.     int i = 0;
    6.     printf("Nhap so phan tu co trong mang a  =");
    7.     scanf("%d",n);
    8.     for(;i<*n;i++)
    9.     {
    10.         printf("Nhap a[%d]=",i+1);
    11.         scanf("%f",&a[i]);
    12.     }
    13. }
    14. void xuat(float a[],int n)
    15. {
    16.     int i = 0;
    17.     printf("\nCac gia tri trong mang gom:\n");
    18.     for(;i<n;i++)
    19.         printf("%3.2f\t",a[i]);
    20.     printf("\n");
    21. }
    22. void sapxep(float a[],int n)
    23.   {
    24.   int i = 0;
    25.   int j;
    26.               for (;i<n;i++)
    27.               {
    28.                           if (a[i]>0)
    29.                           {
    30.                                       for (j=i+1;j<n;j++)
    31.                                       {
    32.                                                   if (a[j]>0 && a[i]>a[j])
    33.                                                   {
    34.                                                               float temp=a[i];
    35.                                                               a[i] = a[j];
    36.                                                               a[j]=temp;
    37.                                                   }
    38.                                       }
    39.                           }                      
    40.               }
    41.               printf(" Sau khi sap sep: \n");
    42.               for(i=0;i<n;i++)
    43.                   printf("%3.3f\t",a[i]);
    44.               printf("\n");
    45.   }
    46. int main( int argc, char **argv )
    47. {
    48.     float a[100];
    49.     int n;
    50.     nhap(a,&n);
    51.     xuat(a,n);
    52.     sapxep(a,n);
    53.  
    54.     return 0;
    55. }
    None!

  3. #3
    Ngày gia nhập
    03 2009
    Nơi ở
    Ho Chi Minh City, Vietnam, Vietnam
    Bài viết
    58

    Bác ơi em chưa học con trỏ chẳng hiểu * là gì. Chỉ mới học bài mảng thôi bác. Bác fix thế em cảm ơn. Nhưng để hiểu nó chắc phải mắc 2 tuần nữa

  4. #4
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    chưa học con trỏ thì sửa lại 3 dòng sau:

    C Code:
    1. void nhap(float a[],int& n)
    2.  
    3. for(;i<n;i++)
    4.  
    5.     nhap(a,n);
    None!

  5. #5
    Ngày gia nhập
    03 2009
    Nơi ở
    Ho Chi Minh City, Vietnam, Vietnam
    Bài viết
    58

    Trích dẫn Nguyên bản được gửi bởi toend2008 Xem bài viết
    Không biết sai chỗ nào anh em chỉ hộ.
    Đề bài: Hãy sắp xếp các số dương trong mảng các số thực tăng dần các số âm giữ nguyên vị trí của chúng trong mảng.
    //261:Hay sap xep cac so duong trong mang cac so thuc tang dan cac so am giu nguyen vi tri cua chung trong mang(sapxepduong).
    Code:
    void nhap(float a[],int n)//Thiếu &n tham biến.(:-)?? 
    {
    	printf("Nhap so phan tu co trong mang a  =");
    	scanf("%d",&n);
    	for(int i=0;i<n;i++)
    	{
    		printf("Nhap a[%d]=",i+1);
    		scanf("%f",&a[i]);
    	}
    }
    Hàm nhập em viết sai.Cảm ơn các bác đã quan tâm giúp đỡ

  6. #6
    Ngày gia nhập
    05 2009
    Bài viết
    25

    Mặc định Sắp xếp các số dương trong mảng các số thực tăng dần các số âm giữ nguyên vị trí???

    biến n phải được dùng là tham chiếu hoặc con trỏ thì mới có tác dụng trong các hàm Nhap, Xuat, Sap Xep

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

  1. Lập trình C++0x Trộn 2 dãy nguyên tăng dần thành 1 dãy tăng dần
    Gửi bởi langman trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 29
    Bài viết cuối: 18-12-2012, 01:30 AM
  2. Lập trình C++ Tìm số nguyên trong mảng sắp xếp tăng dần bằng phương pháp đệ quippp
    Gửi bởi duy0106 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 01-05-2012, 07:04 AM
  3. Sử dụng 4 hàng đợi để sắp xếp dãy số nguyên dương tăng dần
    Gửi bởi forever1992cm trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 21-06-2011, 09:59 AM
  4. Không hiểu vì sao tài nguyên dành cho CT trong Task Manager cứ tăng hoài
    Gửi bởi nguyen190887 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 9
    Bài viết cuối: 19-10-2007, 07:13 AM
  5. sắp xếp mảng số nguyên chẵn tăng dần, lẻ tăng dần, không dùng mảng tạm
    Gửi bởi hailoc12 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 09-08-2006, 11:44 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