Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны натуральное число n, действительные числа a1 an вычислить a1, a1+a2, a1+a2+...+an http://www.cyberforum.ru/cpp-beginners/thread236370.html
Заранее напишу, что искал на форуме, ничего похожего нет. Даны натуральное число n, действительные числа a1, ... , an вычислить a1, a1+a2, ... , a1+a2+...+an;
C++ как создать секундомер в Borland C++ 3.1 помогите создать секундомер в Borland C++ 3.1 http://www.cyberforum.ru/cpp-beginners/thread236360.html
C++ сравнение строк в перегруженной функции
Здравствуйте! есть перегруження функция Block* BlocksList::Find(string text) const { BlockNode * pNode = 0; int position; for (pNode = pHead, position = 0; pNode!=NULL; pNode = pNode->GetNext(), position++) {
C++ Ввести массив символов, а затем вывести его на экран
народ помогите пожалуйстаю напишите пожалуйста небольшой кусочек кода: необходимо ввести массив символов, а затем вывести его на экран.
C++ Работа с символьними строками http://www.cyberforum.ru/cpp-beginners/thread236314.html
Задача такова(если честно сама толком не поняла:cry:) По индивидуальному заданию создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка C, но не применять их в своей функции. Индивидуальная задание тут правда другой вариант а у меня другой хочу научится сама писать если кто нибудь покажет мне один пример!!!! Пример: Функция -...
C++ удалить столбец в двумерном массиве не могу понять где ошибка.. нужно удалить столбец где элементы отрицательны void ubr(double ** mm,int & n,int m) {int i,j,k; double **matr; int *ind; ind=new int; matr=new double *; for(i=0;i<n; i++) подробнее

Показать сообщение отдельно
Dejust
 Аватар для Dejust
49 / 49 / 1
Регистрация: 31.01.2011
Сообщений: 156
31.01.2011, 16:14     Задачка от Страуструпа для новичков
Вот задачка от Страуструпа для новичков
Напишите функцию 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;
}
Да, я понимаю, что весьма топорно, так что с радостью посмотрю на решения других участников форума


 Комментарий модератора 
В теме "Задачи для тренировки и лучшего понимания" рассматриваются задачи НЕ для новичков
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru