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

Đề tài: Kiểu mảng

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

    Mặc định Kiểu mảng

    Em có câu này hơi bí mọi người có thể chỉ em hướng làm được không ạ. Nếu mà có code luôn thì tuyệt vời quáa

    Câu 8: Viết chương trình nhập vào một mảng số nguyên sao cho mỗi số nguyên
    chỉ xuất hiện một lần trong mảng.
    > BAI TAP SO 8
    > Nhap mot so vao mang (0 de ket thuc): 3
    > Nhap mot so vao mang (0 de ket thuc): 2
    > Nhap mot so vao mang (0 de ket thuc): 2
    > Ops! So 2 da co san trong mang. Hay thu lai.
    > Nhap mot so vao mang (0 de ket thuc): 6
    > Nhap mot so vao mang (0 de ket thuc): 0
    > Mang da nhap: 3 2 6
    > KET THUC

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    663

    Trích dẫn Nguyên bản được gửi bởi nguyenkene249 Xem bài viết
    Em có câu này hơi bí mọi người có thể chỉ em hướng làm được không ạ. Nếu mà có code luôn thì tuyệt vời quáa

    Câu 8: Viết chương trình nhập vào một mảng số nguyên sao cho mỗi số nguyên
    chỉ xuất hiện một lần trong mảng.
    > BAI TAP SO 8
    > Nhap mot so vao mang (0 de ket thuc): 3
    > Nhap mot so vao mang (0 de ket thuc): 2
    > Nhap mot so vao mang (0 de ket thuc): 2
    > Ops! So 2 da co san trong mang. Hay thu lai.
    > Nhap mot so vao mang (0 de ket thuc): 6
    > Nhap mot so vao mang (0 de ket thuc): 0
    > Mang da nhap: 3 2 6
    > KET THUC
    Gợi ý 1 chút, bạn phải sửa lại cho phù hợp mục đích của bạn.
    Code sẽ không hiển thị gì cả
    C Code:
    1. #define MAX 100
    2. #include <stdio.h>
    3.  
    4. int mang[MAX];
    5. int len = 0;
    6. //kiem tra so da co trong mang hay chua
    7. bool coChua(int so)
    8. {
    9.     for (int i = 0; i < len; i++) {
    10.         if (mang[i] == so) {
    11.             return true;
    12.         }
    13.     }
    14.     return false;
    15. }
    16. //them so vao cuoi mang
    17. void themSo(int so)
    18. {
    19.     mang[len] = so;
    20.     len++;
    21. }
    22. int main(int argc, char *argv[])
    23. {
    24.     int so;
    25.     printf("Nhap 1 so nguyen: ");
    26.     scanf("%d", &so);
    27.     if (coChua(so)) {
    28.         printf("So da co trong mang");
    29.     }
    30.     else {
    31.         themSo(so);
    32.     }
    33. }
    Cẩn thận kẻo tràn mảng mang[MAX]

  3. #3
    Ngày gia nhập
    02 2016
    Bài viết
    338

    Làm không được chút xíu nào thì gọi là "bí toàn tập" chứ "hơi bí" cái nổi gì.

    Để giải bài này thì còn tuỳ thuộc vào chỉ muốn code một hàm main từ đầu đến cuối hay đã học qua cách phân công việc ra hàm con.

    Phân công việc:
    - hàm main code nhập số từ bàn phím.
    - hàm main gọi hàm con để chèn số vào mảng
    - hàm con làm việc chèn số, nếu chèn thành công thì trả về 0, nếu không thành công (số đã có trong mảng) thì trả về 1.

    // hàm chèn một số (so) vào mảng (mang), cập nhật vị trí phần tử cuối (duoi)
    // hàm trả về 0 nếu thành công, và 1 nếu không thành công (số đã có trong mảng)

    int ChenSoVaoMang(int so, int *mang, int *duoi) {
    for (int i = 0; i <= *cuoi; i++) if (mang[i] == so) return 1;
    mang[++*duoi] = so;
    return 0;
    }

    // code trong main
    int mang[100];
    int so, duoi = -1;
    while (1) {
    printf("Nhap mot so nguyen (0 de ket thuc): ");
    scanf("%d", &so);
    if (so == 0) break;
    if (ChenSoVaoMang(so, mang, &duoi)) printf("So %d da co truoc trong mang\n", so);
    else printf("So %d da duoc chen vào vi tri %d trong mang\n", so, duoi);
    }

Tags của đề tài này

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