Bài tập: Sử dụng constructor để tìm số nguyên tố

Dưới đây là chương trình C++ để giải bài tập trên. Bạn theo các bước sau:

  • Bước 1: Khai báo lớp songuyento với các thành viên dữ liệu và các hàm thành viên
  • Bước 2: Giả sử một constructor của lớp songuyento là songuyento() với tham số là số nguyên
  • Bước 3: Gọi hàm calculate() và thực hiện các bước tiếp theo
  • Bước 4: Với i=2 tới a/2, bạn thực hiện:
  • Bước 5: Kiểm tra nếu a%i==0, sau đó thiết lập k=0 và break
  • Bước 6: Nếu không, thiết lập k=1
  • Bước 7: Tăng giá trị của i thêm 1
  • Bước 8: Kiểm tra giá trị của k là 1 hay là 0
  • Bước 9: Nếu là 1 thì hiển thị rằng đó là số nguyên tố
  • Bước 10: Nếu là 0, thì hiển thị rằng giá trị đó không phải là nguyên tố

#include<iostream>
#include<conio.h>
using namespace std;

class songuyento
{
                int a,k,i;
              public:
              songuyento(int x)
              {
                            a=x;
              }
              void calculate()
              {
                 k=1;
                {
                     for(i=2;i<=a/2;i++)

       if(a%i==0)
                     {
                              k=0;
                              break;
                     }
                     else
                    {
                            k=1;
                  }
                }
              }

void show()
              {
                if(k==1)
                  cout<< "\n\tA la so nguyen to. ";
                else
                  cout<<"\n\tA khong la so nguyen to.";
              }
};

int main()
{

    int a;
    cout<<"\n\tNhap so: ";
    cin>>a;
    songuyento obj(a);
    obj.calculate();
    obj.show();
    return 0;
}

```Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

![Bài tập về Constructor trong C++](../bai_tap_cplusplus_co_giai/images/su_dung_constructor_trong_cplusplus.PNG)Bài tập: Tính giai thừa bởi sử dụng copy constructor
----------------------------------------------------

Dưới đây là chương trình C++ để giải bài tập trên.

include

include

class copy { int var,fact; public:

            copy(int temp)
            {
             var = temp;
            }

            double calculate()
            {
                        fact=1;
                        for(int i=1;i<=var;i++)
                        {
                        fact = fact * i;
                        }
                        return fact;                           
            }

}; int main() {

int n;
std::cout<<"\n\tNhap so : ";
std::cin>>n;
copy obj(n);
copy cpy=obj;
std::cout<<"\n\t Giai thua cua " <<n<< "la: "<<obj.calculate();
std::cout<<"\n\t Giai thua cua " <<n<< "la: "<<cpy.calculate();
return 0;

}

```Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Bài tập về Copy Constructor trong C++

Viết câu trả lời

Drop Images

0 Bình luận