Решение задач c ++
Написать функцию, получающую строку и возвращающую
массив сумм кодов букв каждого слова. Решение задачи есть, но нужно переписать его с использованием класса string. Заранее спасибо за помощь!
Написать функцию, получающую строку и возвращающую
массив сумм кодов букв каждого слова. Решение задачи есть, но нужно переписать его с использованием класса string. Заранее спасибо за помощь!
Код:
#include <iostream>
int * countSumCodes(const char * s, int &n)
{
n = 0;
int inWord = 0;
int * arr = new int[strlen(s)]{0};
while (*s)
{
if (('A' <= *s && *s <= 'Z') ||
('a' <= *s && *s <= 'z') ||
('0' <= *s && *s <= '9'))
{
if (!inWord)
n++;
inWord = 1;
arr[n - 1] += *s;
}
else
{
inWord = 0;
}
s++;
}
return arr;
}
int main()
{
char str[255] = { 0 };
std::cin.getline(str, 255);
int n = 0;
int *arr = countSumCodes(str, n);
for (int i = 0; i < n; i++)
{
std::cout.width(5);
std::cout << arr[i];
}
std::cout<<std::endl;
delete [] arr;
return 0;
}