Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
49 / 49 / 4
Регистрация: 31.01.2011
Сообщений: 156
1

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

31.01.2011, 16:14. Показов 1715. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.01.2011, 16:14
Ответы с готовыми решениями:

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

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

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

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

2
Эксперт С++
5817 / 3469 / 357
Регистрация: 08.02.2010
Сообщений: 7,448
31.01.2011, 16:17 2
Dejust, не выделяется память под нуль-терминатор
0
3054 / 1459 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
31.01.2011, 21:38 3
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2011, 21:38

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

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

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

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

Библиотеки для книги Страуструпа
Доброго времени суток! Дядя Бьярне использует библиотеки в своей книге &quot;Принципы и практика...

Подскажите пожалуйста хорошую литературу для изучения с++, для новичков
Чтобы подошла человеку , который не сталкивался с программированием , а вот сейчас ему очень срочно...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.