• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Решение задач c ++

  • Автор темы Автор темы allliiin
  • Дата начала Дата начала

allliiin

Ученик
Регистрация
9 Дек 2020
Сообщения
1
Реакции
0
Баллы
0
Решение задач c ++

Написать функцию, получающую строку и возвращающую
массив сумм кодов букв каждого слова. Решение задачи есть, но нужно переписать его с использованием класса 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;
}
 
Назад
Сверху