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

Đề tài: Bài tập về mảng, Bài tập C

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

    Mặc định Bài tập về mảng, Bài tập C

    Chào mọi người! Mình có mấy bài tập về mảng, xin mọi người giúp đỡ:

    Bài 1.
    Viết hàm chèn phần tử có giá trị X vào phía sau tất cả các phần tử có giá trị chẵn trong mảng.
    Viết hàm tìm phần tử là số nguyên tố trong tất cả các phần tử của mảng.
    Bài 2.
    Nhập vào một mảng số nguyên n phần tử từ bàn phím, in ra màn hình phần tử có số lần xuất hiện nhiều lần nhất trong mản vừa nhập.

    Mọi người cố giúp mình nhé! Mình cảm ơn nhiều!

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Ồ. Dreaminess có 3 ý kiến.

    Thứ nhất: Vui lòng nhìn cái Description của Forum để biết cách Post bài
    Thứ 2: Mảng là 1 chiều, 2 chiều hay n chiều??????
    Thứ 3: Bài này là cơ bản, tốt nhất nên tự làm bằng cách search và tìm tòi. Nếu có gì khó khăn hỏi thì tốt hơn nhiều. Nếu là làm để chống đối teacher thì chỉ cần chi ra 100USD sẽ có bài giải liền. Thế nào?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #3
    Ngày gia nhập
    11 2006
    Bài viết
    8

    Trích dẫn Nguyên bản được gửi bởi Dreaminess
    Ồ. Dreaminess có 3 ý kiến.

    Thứ nhất: Vui lòng nhìn cái Description của Forum để biết cách Post bài
    Thứ 2: Mảng là 1 chiều, 2 chiều hay n chiều??????
    Thứ 3: Bài này là cơ bản, tốt nhất nên tự làm bằng cách search và tìm tòi. Nếu có gì khó khăn hỏi thì tốt hơn nhiều. Nếu là làm để chống đối teacher thì chỉ cần chi ra 100USD sẽ có bài giải liền. Thế nào?
    Thứ nhất: Mình xin lỗi vì đã không nhớ qui định khi post bài.
    Thứ hai: Bài này là mảng một chiều.
    Thứ ba: Mình đang tự học lập trình C, nên có một số khó khăn nên mình muốn mọi người giúp đỡ mình. Nếu cậu không giúp mình thì thôi chứ bảo mình là đối phó với teacher thì mất quan điểm lắm. Bởi có thể cậu rất giỏi C,nên bài này là rất dễ, nhưng với những người tự học và mới làm quen với C thì không hề đơn giản. Đây là diễn đàn dành cho tất cả mọi người yêu C(có những người mới bắt đầu và cả những người chuyên nghiệp nữa). Ai giúp được thì giúp mình nhé!

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

    Bài 1 : nếu biết làm stack -> push với pop là xong -> bạn nên xem qua mấy bài viết về Stack .. Mà bạn không hiểu stack thì thủ công như này :
    Ý a :
    * Cấp phát mảng nhớ động
    * Check các phần tử xem nếu chẵn thì các giá trị sau tăng thêm 1 vị trí trong mảng và cái số ngay sau đó là X
    Ý b :
    * Đơn giản chỉ cần quét phần tử trong mảng lần lượt xem có nguyên tố không rồi in ra

    Bài 2 :
    * Dùng 2 mảng một chiều : 1 mảng A để lưu giá trị nhập - 1 mảng B dùng để đếm ( động ) số lần xuất hiện của các phần tử trong mảng trước .
    * So sánh các phần tử mảng B xem giá trị lớn nhất là bao nhiêu rồi in ra
    ^o^

    Thuật toán cơ bản như vậy .. không tốn bộ nhớ .. tối ưu hóa được .
    None!

  5. #5
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Bài 1.a
    Nếu làm việc trên stack thì mình đưa ra code giải pháp sau:

    Code:
    /******************************************************
     Đưa các dữ lịêu vào stack:
     ví dụ: chen 14 vào mảng 1,2,3,4 thì trong stack sẽ là:1|2|14|3|4|14
    cùng với biến k sẽ cho biết có bao nhiêu phần tử trong stack.
    code sẽ được mô tả bằng ngôn ngữ tiếng việt./!\ 
    ******************************************************/
    a[]; //là mảng phần tử đầu vào.
    n ; //là số phần tử trong mảng a.
    x; //là phần tử phải chèn vào.
    k=0; //lúc đầu trong stack không có phần tử nào.
    trong khi i=0 đến n-1{
             push(a[i]);
             k=k+1;//số pt trong stack được tăng thêm 1.
             xét nếu a[i] là số chẳn thì
            {
                  push(x);
                  k=k+1;
            }
    }
     
    /*thực hiện việc đưa các pt từ trong stack vào mảng*/
    cấp phát một mảng b động có k phần tử
    thực hiện công việc sau:
    trong khi stack chưa rổng thự hiện.
    {
       b[k-1]=pop();
       k=k-1;
    }
    //Cuối cùng ta sẽ có mảng b là mảng kết quả.
    Nếu làm theo giải pháp trên thì theo mình thay stack bằng queue sẽ tự nhiên hơn.

  6. #6
    Ngày gia nhập
    11 2006
    Bài viết
    8

    Mặc định Bài tập về mảng, Bài tập C

    mình cảm ơn nhé! Chúc mọi người may mắn!

  7. #7
    Ngày gia nhập
    07 2006
    Bài viết
    121

    Topic đã được đóng.

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