Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để tìm phép cộng và phép trừ bằng cách gọi hàm theo địa chỉ

Giả sử chúng ta có hai số a và b. Chúng ta sẽ phải xác định một hàm có thể tính (a + b) và (a - b) cả hai. Nhưng sử dụng một hàm trong C ++, chúng ta có thể trả về nhiều nhất một giá trị. Để tìm nhiều hơn một đầu ra, chúng ta có thể sử dụng các tham số đầu ra thành các đối số của hàm bằng cách sử dụng con trỏ và gọi hàm đó bằng cách sử dụng địa chỉ của các biến đó. Ở đây trong bài toán này, chúng ta sẽ cập nhật a với a + b và b với a-b. Khi chúng ta gọi hàm, chúng ta sẽ phải chuyển địa chỉ của hai biến này.

Vì vậy, nếu đầu vào là a =15, b =18, thì đầu ra sẽ là a + b =33 và a - b =-3

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • xác định một hàm giải quyết (), điều này sẽ lấy địa chỉ của a và b

  • temp:=tổng các giá trị của biến có địa chỉ được cung cấp

  • b:=sự khác biệt của các giá trị của biến có địa chỉ được đưa ra

  • a =temp

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <iostream>
using namespace std;
int solve(int *a, int *b){
    int temp = *a + *b;
    *b = *a - *b;
    *a = temp;
}
int main(){
    int a = 15, b = 18;
    solve(&a, &b);
    cout << "a + b = " << a << " and a - b = " << b;
}

Đầu vào

15, 18

Đầu ra

a + b = 33 and a - b = -3