Bài tập C++ có giải: Sử dụng Constructor và Copy Constructor



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ố

Quảng cáo
#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++

Bài tập Tính giai thừa bởi sử dụng copy constructor

Quảng cáo

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

#include<iostream>
#include<conio.h>


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++

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.




Tài liệu giáo viên