Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для Dejust
49 / 49 / 4
Регистрация: 31.01.2011
Сообщений: 156

Задачка от Страуструпа для новичков

31.01.2011, 16:14. Показов 2004. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задачка от Страуструпа для новичков
Напишите функцию cat(), которая принимает в качестве аргументов две C-строки и возвращает конкатенированную C-строку. Используйте оператор new для выделения памяти под результат
Мое решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
char* cat(const char* str_1, const char* str_2)
{
    int len_1 = strlen(str_1), 
        len_2 = strlen(str_2), 
        full_strlen = len_1+len_2;
 
    char* cat_str = new char[full_strlen];
    
    // Переписываем str_1 в cat_str
    for(int i = 0; i<=len_1; i++)
        cat_str[i] = str_1[i];
 
    // Добавляем к str_1 строку str_2
    int w = 0; 
    for(int i = len_1; i<=full_strlen; i++)
    {
        cat_str[i] = str_2[w];
        w++;
    }
 
    return cat_str;
}
Да, я понимаю, что весьма топорно, так что с радостью посмотрю на решения других участников форума


 Комментарий модератора 
В теме "Задачи для тренировки и лучшего понимания" рассматриваются задачи НЕ для новичков
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2011, 16:14
Ответы с готовыми решениями:

Задачка для новичков #3: определить, является ли строка палиндромом
Простенькая задачка, нужно запилить нормальный плюсовый код. Юзер посимвольно вводит строку, прога должна определять, является ли...

Задачка для новичков#1: найти причину UB в коде и исправить его согласно условию
Привет молодые коллеги, нашёл у себя под диваном интересную задачку - она лёгкая для гуру ( поэтому вы увидите ниже ответы на задачку...

Задачка из книги Страуструпа...
Доброго времени суток всем! Заранее благодарен за ответы и, возможные, пути исправления... Итак: &quot;Считайте последовательности...

2
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
31.01.2011, 16:17
Dejust, не выделяется память под нуль-терминатор
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
31.01.2011, 21:38
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char *Cat(const char *first_string, const char *second_string) {
  char *result = new char[strlen(first_string) + strlen(second_string) + 1];
  char *destination_symbol = result;
  const char *source_symbol = first_string;
  while (*source_symbol != '\0')
    *(destination_symbol++) = *(source_symbol++);
  source_symbol = second_string;
  while (*source_symbol != '\0')
    *(destination_symbol++) = *(source_symbol++);
 
  *destination_symbol = '\0';
  return result;
}
Конечно, нельзя так с С строками. Воизбежание, они должны создаваться и удаляться как-то более организованно. )
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2011, 21:38
Помогаю со студенческими работами здесь

Задачка из страуструпа , глава 4 ,вектора
Здравствуйте, помогите пожалуйста довести задачку до ума Вот сама задачка: {deleted} Нарушены п.5.18 и 5.19 Правил ...

Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса
Вдохновленный соседней темой тоже решил задать свой вопрос таким же начинающим программистам как и я :) Все кто хочет попробовать дать...

Задачка из книги Страуструпа на поиск минимального и максимального введенного числа
Здравствуйте могли бы вы мне помочь в решении задачи. Вот собственно само условие. Условие: Теперь измените тело цикла так, чтобы он...

Читаю книгу Страуструпа для новичков но мне одному она кажется трудной и не совсем понятной?
на протяжении всей книги он показывает код в виде ...&lt;...&gt;... почему просто бы не объяснить?в ООП Р.Лафоре и Б.Эккеля все норм по...

Задачка для новичков
Возникла идейка задать небольшую задачку интересную (для новичков по крайней мере, т.к. она довольно простая): выведет ли следующий код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru