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

Đề tài: kiểm tra giùm bài làm của đệ

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

    Mặc định kiểm tra giùm bài làm của đệ

    hồi sáng mới thi xong kết thúc học phần lập trình C, em có mấy bài làm không biết không nữa , mong mấy huynh kiểm tra giùm:

    cho mảng số nguyên a gồm n phần tử. Viết các hàm sau:
    a) thay thế các giá trị âm trong mảng bằng trị tuyệt đối của nó.
    giải:
    Code:
    int thaythe(int a[], int n)
    {
       int i,t;
       for(i=0;i<n;++i)
       if(a[i] <0) 
       {
          t=abs(a[i]);
          a[i]=t;
       }
    b) tìm số có số lần xuất hiện nhiều nhất trong mảng.
    giải:
    Code:
    int timso(int *p, int n)
    {
        int i, j, dem=count=0,t;
        for(i=0;i<n-1;++i)
          for(j=i+1;j<n;++j)
          {
             if(*(p+i)==*(p+i+1)) ++dem;
             if(*(p+j)==*(p+j+1)) ++count;
          }
          if(dem > count ) t=*(p+i);
          else t=*(p+j);
          return t;
    }

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

    a) thay thế các giá trị âm trong mảng bằng trị tuyệt đối của nó.
    Có một cách khác là em nhân số âm với -1 như nè a[i] *= -1;
    b) tìm số có số lần xuất hiện nhiều nhất trong mảng
    C Code:
    1. int timso(int *p, int n)
    2. {
    3.      int i, j, count,t,pos;
    4.      for(i=0;i<n-1;++i)
    5.      {
    6.           count=0;
    7.           for(j=i+1;j<n;++j)
    8.           {
    9.                if(*(p+i)==*(p+j)) ++count;
    10.           }
    11.           if(t < count )
    12.           {
    13.                 t=count;
    14.                 pos = i;
    15.           }
    16.     }
    17.       return *(p+pos);
    18. }

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

    Trích dẫn Nguyên bản được gửi bởi QuangHoang Xem bài viết
    Có một cách khác là em nhân số âm với -1 như nè a[i] *= -1;


    C Code:
    1. int timso(int *p, int n)
    2. {
    3.      int i, j, count,t,pos;
    4.      for(i=0;i<n-1;++i)
    5.      {
    6.           count=0;
    7.           for(j=i+1;j<n;++j)
    8.           {
    9.                if(*(p+i)==*(p+j)) ++count;
    10.           }
    11.           if(t < count )
    12.           {
    13.                 t=count;
    14.                 pos = i;
    15.           }
    16.     }
    17.       return *(p+pos);
    18. }
    vậy huynh cho đệ hỏi bài làm của đệ có sai không(về cơ bản sai nhiều chỗ không)

    cái đề của em thi ( không nhõ) là cho mảng nhiều chiều hay 1 chiều, nếu 1 chiều thì cái bài thứ 2 của em làm có sai không anh

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

    Yêu cầu bạn không trích dẫn bài xuống quá nhiều như vậy, chỉ khiến mọi người khó theo dõi bài của bạn.

    Code 1 của bạn không có vấn đề gì, nhưng code thứ 2 sẽ ra kết quả sai vì biết đếm luôn tăng không trở lại giá trị sau khi đếm.

    Nếu đầu bài chỉ nói là mảng thì ngầm hiểu là mảng 1 chiều.

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

  1. các bạn sửa giùm lỗi này hộ tớ với!
    Gửi bởi mr.cuong_tq trong diễn đàn Nhập môn lập trình Java
    Trả lời: 1
    Bài viết cuối: 01-10-2012, 06:36 PM
  2. Fix lỗi giùm em với ạ
    Gửi bởi anhtnse02984 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 11
    Bài viết cuối: 10-08-2012, 02:19 PM
  3. Turbo C Lỗi Mọi người sữa giùm mình lỗi ni
    Gửi bởi binhlama00 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 01-03-2012, 08:56 PM
  4. mấy anh sửa lỗi này giùm em nha
    Gửi bởi lu_ngovan trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 05-05-2010, 04:17 PM
  5. sửa giùm em bài sắp xếp
    Gửi bởi tonggiavinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 19-01-2008, 09:42 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