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

Đề tài: cần giúp gấp, sắp yhi đến nơi rồi

  1. #1
    Ngày gia nhập
    10 2012
    Bài viết
    0

    Mặc định cần giúp gấp, sắp yhi đến nơi rồi

    cô giáo em cho cái đề như thế này:
    Viết chương trình gồm những hàm sau:
    - Hàm input(a, n) thực hiện nhập n phần tử và mảng a
    - Hàm sort(a) sắp xếp mảng a
    - Hàm output(a) hiển thị các phần tử mảng a ra màn hình
    - Hàm merge(a,b,c) thực hiện hợp phần tử hai mảng a,b đã được sắp xếp tằng dần và lưu
    vào mảng c sao cho c cũng phải có thứ tự tăng dần
    Lưu ý: KHÔNG được áp dụng hàm sắp xếp sort() cho mảng c.
    em đã viết được cái đoạn sắp xếp a và b rôi, gộp vào mảng c cũng viết đc, nhưng mà chả hiểu cái lưu ý của cô giáo là thế nào nữa, các bác thêm vào hàm gộp dãy cho em vs nhá thannk nhiều lắm
    Code:
    #include<stdio.h>
    #include<conio.h>
    void nhap(float a[],int &n)
    {
        int i;
        printf("Nhap n= ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
        printf("a[%d]=",i);
        scanf("%f",&a[i]);
        }
    }
    void day(float a[],int n)
    {
        int i,j;
        float x;
        for(i=0;i<n-1;i++)
        {
            x=a[i+1];
            j=i+1;
            while(j>0 && a[j-1]>x)
            {
                a[j]=a[j-1];
                j=j-1;
            }
            a[j]=x;
            }
    
    }
    void inday(float a[],int n)
    {
        int i;
        printf("Day sau khi sap xep\n");
        for(i=0;i<n;i++)
        printf(" %0.2f\t",a[i]);
        
    }
    
     main()
    {
        float a[100],b[100];
        int m,n,i;
        nhap(a,n);
        day(a,n);
        nhap(b,m);
        day(b,m);
        inday(a,n);
        inday(b,m);
        getch();
    }

  2. #2
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    Trích dẫn Nguyên bản được gửi bởi thaohoangf Xem bài viết
    cô giáo em cho cái đề như thế này:
    Viết chương trình gồm những hàm sau:
    - Hàm input(a, n) thực hiện nhập n phần tử và mảng a
    - Hàm sort(a) sắp xếp mảng a
    - Hàm output(a) hiển thị các phần tử mảng a ra màn hình
    - Hàm merge(a,b,c) thực hiện hợp phần tử hai mảng a,b đã được sắp xếp tằng dần và lưu
    vào mảng c sao cho c cũng phải có thứ tự tăng dần
    Lưu ý: KHÔNG được áp dụng hàm sắp xếp sort() cho mảng c.
    em đã viết được cái đoạn sắp xếp a và b rôi, gộp vào mảng c cũng viết đc, nhưng mà chả hiểu cái lưu ý của cô giáo là thế nào nữa, các bác thêm vào hàm gộp dãy cho em vs nhá thannk nhiều lắm
    Code:
    #include<stdio.h>
    #include<conio.h>
    void nhap(float a[],int &n)
    {
        int i;
        printf("Nhap n= ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
        printf("a[%d]=",i);
        scanf("%f",&a[i]);
        }
    }
    void day(float a[],int n)
    {
        int i,j;
        float x;
        for(i=0;i<n-1;i++)
        {
            x=a[i+1];
            j=i+1;
            while(j>0 && a[j-1]>x)
            {
                a[j]=a[j-1];
                j=j-1;
            }
            a[j]=x;
            }
    
    }
    void inday(float a[],int n)
    {
        int i;
        printf("Day sau khi sap xep\n");
        for(i=0;i<n;i++)
        printf(" %0.2f\t",a[i]);
        
    }
    
     main()
    {
        float a[100],b[100];
        int m,n,i;
        nhap(a,n);
        day(a,n);
        nhap(b,m);
        day(b,m);
        inday(a,n);
        inday(b,m);
        getch();
    }
    à có vẻ ý cô là các mảng a , b đều đã đc sắp xếp trước rồi , mảng C chỉ là mảng lưu phần tử của a và b theo yêu cầu của đề bài , không được lưu a và b vào C xong đem sắp xếp . Ý là vậy đấy

  3. #3
    Ngày gia nhập
    08 2011
    Bài viết
    0

    Đề thi học sinh giỏi tin của Liên Xô năm 1980 thì phải, cái này mình cũng mới học hôm qua.

    Ý là mảng a có m phần tử đã sắp xếp rồi và mảng b có n phần tử cũng đã xắp xếp rồi. ( Code ví dụ là sắp xếp tăng dần )
    Tạo thành mảng c có p phần tử ( p = m + n ) đã sắp xếp tăng dần nhưng không dựa vào thuật toán sắp xếp. Là như vầy.

    void
    Code:
    void SapXep(int a[], int m,
    			int b[], int n,
    			int c[], int &p)
    {
    	int i = 0; // biến chạy duyệt trên mảng a
    	int j = 0; // biến chạy duyện trên mảng b
    	int p = 0; // biến chạy duyệt trên mảng c ( p = a + b).
    	while(!(i >= m && j >= n)) // điều kiện dừng khi cả 2 mảng hết phần tử
    	{
    		if(a[i] < b[j] || j >= n) nếu phần tử thứ a[i] < phần từ thứ b[j] thì cho phần tử  a[i] vào, hoặc là khi b đã hết phần tử rồi ( khi j >= n) thì còn bao nhiều bên a cứ nhét hết vô c
    		{
    			c[p++] = a[i++];
    		}
    		else
    		{
    			c[p++] = b[j++];
    		}
    	}
    }

  4. #4
    Ngày gia nhập
    10 2012
    Bài viết
    0

    cảm ơn các bạn nhiều lắm, mình còn học hỏi mọi người nhiều, tiện đây cho hỏi thêm chút. Tại sao ở hàm nhập phải khai báo là
    void nhap (float s[], int &n)
    mà lại không khai báo kiểu
    void nhap(float a[], int n)????????????

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

    Trích dẫn Nguyên bản được gửi bởi thaohoangf Xem bài viết
    cảm ơn các bạn nhiều lắm, mình còn học hỏi mọi người nhiều, tiện đây cho hỏi thêm chút. Tại sao ở hàm nhập phải khai báo là
    void nhap (float s[], int &n)
    mà lại không khai báo kiểu
    void nhap(float a[], int n)????????????
    &n là khai báo kiểu tham biến, vì trước khi có hàm nhập thì mình không biết được n có giá trị là bao nhiêu, và khi gọi xong hàm nhập thì n mới có giá trị. Vậy biến N đã có sự thay đổi nên gọi là tham biến

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

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 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