Scrabble - խաղում, խաղացողները կազմում են բառեր։ Ամեն բառի համար տրամադրվում է միավոր։ Հաղթում է նա, ում բառը ավելի շատ միավոր կհավաքի։ Բառին տրամադրված միավորը հաշվում է նրա ամեն տառի միավորների գումարով։ Անգլերեն այբուբենի ամեն տառին համապատասխանում է որոշակի միավոր։ Ընդ որոմ, ինչքան հաճախ է օգտագործվում տառը, այնքան նրան հատկացրած միավորը քիչ է։
                                 Աղյուսակը պարունակում է ամեն տառին համապատասխան միավորը
Աղյուսակը պարունակում է ամեն տառին համապատասխան միավորը
 
Օրինակ՝ ‘A’, ‘E’, ‘I’ տառերը անգլերենում հանդիպում են շատ ավելի հաճախ, քան ‘Z’ և ‘Q’ տառերը։ Այդ իսկ պատճառով, ‘Z’ և ‘Q’ տառերին տրվում է ավելի շատ միավոր։
Դիտարկենք միավորների հաշվման օրինակներ՝
Եթե խաղացողը ներմուծի “world” բառը, նա կհավաքի 4 + 1 + 1 + 1 + 2 = 9 միավոր։
“COMPUTER” - բառի միավորը կլինի 12` 3 + 1 + 3 + 3 + 1 + 1 + 1 + 1 = 12
Անհրաժեշտ է գրել ծրագիր, որտեղ երկու խաղացողներ մուտքագրում են բառեր։ Ծրագիրը հաշվում է մուտքագրված բառերի միավորները և որոշում է հաղթող խաղացողին։ Հատուկ սիմվոլներին (!, $ և այլն) և թվերին տրվում է 0 միավոր։ Մեծատառ և փոքրատառ տառերի միավորները նույն են։
 
Ծրագրի աշխատանքի արդյունք
Ծրագրի աշխատանքի արդյունք
 
#include <iostream> #include <string> // Points assigned to each letter of the alphabet // A B C D E F ..... Z int POINTS[] = {1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10}; int main() { } int computeScore(std::string word) { //TODO: put your code here }
POINTS զանգված պարունակում է անգլերեն այբուբենի ամեն տառին համապատասխան միավորը։ 0 ինդեքսը համապատասխանում է A տառին, 1 ինդեքսը B տառին և այդպես շարունակ։ POINTS[0] == 1, նշանակում է, որ A (a) տառը գնահատվում է 1 միավոր։ POINTS[1] == 3, նշանակում է, որ B(b) տառը գնահատվում է 3 միավոր։ POINTS[25] == 10, նշանակում է, որ Z (z) տառը գնահատվում է 10 միավոր։

Հուշում 1

Մեկ անգամ ևս դիտարկե՛ք ASCII աղյուսակը և փորձե՛ք այն «արտապատկերել» POINTS զանգվածին։

Հուշում 2

Ինչի՞ է հավասար ‘A’ - 65 արտայատության արժեքը։
Ինչի՞ է հավասար ‘Z’ - 65 արտայատության արժեքը։
Ինչի՞ է հավասար ‘a’ - 97 արտայատության արժեքը։

Հուշում 3

Ինչի՞ է հավասար POINTS[’A’ - 65] արտահայտության արժեքը։
Ինչի՞ է հավասար POINTS[’a’ - 97] արտահայտության արժեքը։
Ինչի՞ է հավասար POINTS[’b’ - 97] արտահայտության արժեքը։
Ինչի՞ է հավասար POINTS[’z’ - 97] արտահայտության արժեքը։