Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ เพื่อค้นหายอดขายทั้งหมดที่เราทำ


สมมติว่าเรากำลังขาย 4 รายการและราคาของรายการ i-th อยู่ในอาร์เรย์ 'cost[i]' ตอนนี้เราขายสินค้าตามลำดับที่ระบุในสตริง 'items' เราต้องหาจำนวนยอดขายทั้งหมดที่เราทำ สตริง 'items' มีตัวเลขจำนวนเต็มตั้งแต่ 1 ถึง 4 สามารถสแกนซ้ำได้และจะเรียงลำดับอย่างไรก็ได้

ดังนั้น หากอินพุตเท่ากับ cost ={10, 15, 10, 5} รายการ ="14214331" ผลลัพธ์จะเป็น 75

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

total := 0
for initialize i := 0, when i < size of items, update (increase i by 1), do:
   total := total + cost[items[i] - '0' - 1]
return total

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

#include <bits/stdc++.h>
using namespace std;
#define N 100
int solve(int cost[], string items) {
   int total = 0;
   for(int i = 0; i < items.size(); i++)
      total += cost[items[i] -'0' - 1];
   return total;
}
int main() {
   int cost[] = {10, 15, 10, 5};
   string items = "14214331";
   cout<< solve(cost, items);
   return 0;
}

อินพุต

{10, 15, 10, 5}, "14214331"

ผลลัพธ์

75