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

Đánh giá biểu thức mảng với số, + và - trong C ++

Trong bài toán này, chúng ta được cung cấp một mảng arr [] bao gồm n giá trị ký tự biểu thị một biểu thức. Nhiệm vụ của chúng ta là đánh giá một biểu thức mảng với các số, + và -.

Biểu thức chỉ bao gồm các số, ký tự ‘+’ và ký tự ‘-’.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào: arr ={“5”, “+”, “2”, “-8”, “+”, “9”,}

Đầu ra: 8

Giải thích:

Biểu thức là 5 + 2 - 8 + 9 =8

Phương pháp tiếp cận giải pháp:

Giải pháp cho vấn đề được tìm thấy bằng cách thực hiện từng thao tác và sau đó trả về giá trị. Mỗi số cần được chuyển đổi thành giá trị số nguyên tương đương của nó.

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#include <bits/stdc++.h>
using namespace std;

int solveExp(string arr[], int n) {
   
   if (n == 0)
   return 0;
   int value, result;
   result = stoi(arr[0]);

   for (int i = 2; i < n; i += 2)
   {
      int value = stoi(arr[i]);
      if (arr[i - 1 ] == "+")
         result += value;
      else
         result -= value;
   }
   return result;
}

int main() {
   
   string arr[] = { "5", "-", "3", "+", "8", "-", "1" };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The solution of the equation is "<<solveExp(arr, n);
   return 0;
}

Đầu ra -

The solution of the equation is 9