Cho mảng chuỗi str[]. Tính điểm của mỗi chuỗi: vị trí chuỗi (bắt đầu từ 1) nhân với tổng giá trị bảng chữ cái các ký tự (a=1, b=2, ..., z=26).
Ví dụ
Đầu vào: {"learn", "programming", "tutorials", "point"}
Chuỗi "learn" (vị trí 1): l(12)+e(5)+a(1)+r(18)+n(14)=50 → Điểm = 50×1=50
Chuỗi "programming" (vị trí 2): Tổng=131 → Điểm=262
Chuỗi "tutorials" (vị trí 3): Tổng=135 → Điểm=405
Chuỗi "point" (vị trí 4): Tổng=74 → Điểm=296
Thuật toán
- Duyệt từng chuỗi, lưu vị trí (index)
- Tính tổng giá trị ký tự: ch - 'a' + 1
- Nhân với vị trí, in kết quả
Ví dụ mã nguồn
#include <iostream>
#include <string>
using namespace std;
int diemChuoi(string str[], string s, int n, int viTri) {
int diem = 0;
for (int j = 0; j < s.length(); j++)
diem += s[j] - 'a' + 1;
return diem * viTri;
}
int main() {
string str[] = {"learn", "programming", "tutorials", "point"};
int n = sizeof(str)/sizeof(str[0]);
for (int i = 0; i < n; i++) {
cout << "Điểm chuỗi '" << str[i] << "' = "
<< diemChuoi(str, str[i], n, i+1) << endl;
}
return 0;
}
Kết quả
Điểm chuỗi 'learn' = 50 Điểm chuỗi 'programming' = 262 Điểm chuỗi 'tutorials' = 405 Điểm chuỗi 'point' = 296