Thực hành Lập trình C. KIỂM TRA 1 PHẦN TỬ CÓ TRONG DANH SÁCH HAY KHÔNG sử dụng Code Blocks


Bài tập thực hành: Kiểm tra 1 phần tử có trong danh sách hay không?

Yêu cầu: Nhập một số bất kỳ và kiểm tra xem số đó có tồn tại trong danh sách hay không?

1.1      Công cụ:

Môi trường: Code::Blocks
Ngôn ngữ lập trình: C

1.2      Hướng dẫn chung

·        Nhập vào 1 mảng từ bàn phím
·        Nhập 1 số bất kỳ
·        Khai báo 1 biến để lưu kết quả dạng Có/ Không
·        Duyệt qua từng phần tử của mảng.
·        Kiểm tra nếu số đó bằng số cần kiểm tra thì đặt biến trạng thái bằng Có.
·        Khi kết thúc duyệt mảng.
·        Nếu có à In có;


1.1      THỰC HÀNH BƯỚC 1

Mở Code Blocks à New File à Empty file --> Lưu file đuôi .cpp

1.2      THỰC HÀNH BƯỚC 2

Khai báo sử dụng các thư viện
#include <conio.h>
#include <stdio.h>
#include <string.h>

1.3      THỰC HÀNH BƯỚC 3

Khai báo biến và mảng sử dụng trong chương trình
bool timthay = false;
int bienkiemtra = 0;
int ds[10] {10,12,15,17};
int tong = 0;

1.4      THỰC HÀNH BƯỚC 4

Lần lượt duyệt qua các phần tử của mảng, kiểm tra xem có tìm thấy không?
Nếu có, sẽ in vị trí tìm thấy và đặt trạng thái biến tìm thấy bằng true
for(int i = 0;i<10; i++)
       {
           if (bienkiemtra==ds[i])
           {
               printf("Co tim thay o vi tri so %d\n",i);
               timthay = true;
           }
       }

1.5      THỰC HÀNH BƯỚC 5

Sau khi kết thúc quá trình tìm kiếm, thực hiện in kết quả
if (timthay==false)
       {
           printf("Khong tim thay");
}


1.3      CODE THAM KHẢO




Toàn bộ code như sau:
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{
    bool timthay = false;
    int bienkiemtra = 0;
    int ds[10] {10,12,15,17};
    int tong = 0;
    for (int i = 0; i<10;i++)
    {
        printf("A[%d]:%d\n",i,ds[i]);
    }
    //Nhap vao 1 phan tu va kiem tra xem so do co trong danh sach hay khong
    printf("Nhap vao so can kiem tra:");
    scanf("%d",&bienkiemtra);
    //Lan luot di qua cac phan tu trong mang
    //--> Kiem tra xem co so nao bang so nay khong
       for(int i = 0;i<10; i++)
       {
           if (bienkiemtra==ds[i])
           {
               printf("Co tim thay o vi tri so %d\n",i);
               timthay = true;
           }
       }
       if (timthay==false)
       {
           printf("Khong tim thay");
       }
    getch();
}

*** MỞ RỘNG

Bổ sung phần nhập vào từ bàn phím giá trị của Mảng và biến cần kiểm tra. Sau khi nhập xong, in ra
printf("Nhap vao so can kiem tra:");
    scanf("%d",&bienkiemtra);

    //Bo sung phan nhap vao tu ban phim danh sach
    for(int i = 0;i<10; i++)
       {
            printf("Nhap ds [%d]:",i);
            scanf("%d",&ds[i]);
       }
    //In danh sach ds
    for (int i = 0; i<10;i++)
    {
        printf("A[%d]:%d\n",i,ds[i]);
    }

Code mới của chương trình sẽ là
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{
    bool timthay = false;
    int bienkiemtra = 0;
    int ds[10] {10,12,15,17};
    int tong = 0;
    //Nhap vao 1 phan tu va kiem tra xem so do co trong danh sach hay khong
    printf("Nhap vao so can kiem tra:");
    scanf("%d",&bienkiemtra);

    //Bo sung phan nhap vao tu ban phim danh sach
    for(int i = 0;i<10; i++)
       {
            printf("Nhap ds [%d]:",i);
            scanf("%d",&ds[i]);
       }
    //In danh sach ds
    for (int i = 0; i<10;i++)
    {
        printf("A[%d]:%d\n",i,ds[i]);
    }
    //Lan luot di qua cac phan tu trong mang
    //--> Kiem tra xem co so nao bang so nay khong
       for(int i = 0;i<10; i++)
       {
           if (bienkiemtra==ds[i])
           {
               printf("Co tim thay o vi tri so %d\n",i);
               timthay = true;
           }
       }
       if (timthay==false)
       {
           printf("Khong tim thay");
       }
    getch();
}







No comments:

Powered by Blogger.