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

โค้ด C++ คำนวณยอดขายรวมจากลำดับสินค้า

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

เช่น ถ้าค่าที่ป้อนเข้าเป็น cost = {10, 15, 10, 5}, items = "14214331" ผลลัพธ์จะได้ 75

ขั้นตอนการแก้ปัญหา

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

total := 0 สำหรับ i := 0 เมื่อ i < ขนาดของ items เพิ่ม i ทีละ 1 ทำ:    total := total + cost[items[i] - '0' - 1] คืนค่า 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