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

Конкатенация строк: Зачем строки создаются в динамической памяти? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите найти ошибку в решении биквадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread1233710.html
Здравствуйте,написал код,проблема в том,если выполняется строка 31,то и всегда будет выполнятся строка под номером 39,как это исправить? писал по алгоритму,должно быть все правильно. Программа работает хорошо,только выводит на экран пару лишних иксов. Для примера можно взять 4(x^4)- 5(x^2)+1=0. Ответ равен 1, -1, 0.5, -0.5; у меня выбивает следующие: x1=1; x2=-1; x3=0.5; x4=-0.5; x1=-1; x2=1; -...
C++ Как обратиться к свойству класса Нубский вопрос, вот код: #include "stdafx.h" #include <iostream> using namespace std; class HelloClass http://www.cyberforum.ru/cpp-beginners/thread1233666.html
Выяснить, сколько бюллетеней осталось необработанными C++
В стране Виртландии раз в пять лет проходят выборы президента. И каждый раз после завершения голосования появляется необходимость подсчитать результаты. Рассмотрим процесс обработки бюллетеней в Виртландии. Всего в Виртландии голосуют n человек, соответственно необходимо обработать n бюллетеней, которые пронумерованы от 1 до n. Обработка длится k дней. Каждый день члены избирательной комиссии...
Преобразование string в long double C++
Одним из недостатков C++ является отсутствие для бизнес-программ встроенного типа для денежных значений, такого, как $173 698 001,32. Такой денежный тип должен иметь возможность для хранения числа с фиксированной десятичной точкой точностью около 17 знаков, которого было бы достаточно для хранения национального долга в долларах и цен- тах. К счастью, встроенный тип C++ long double имеет...
C++ Нахождение среднего значения дробей http://www.cyberforum.ru/cpp-beginners/thread1233586.html
Напишите функцию main(), которая получает случайные дробные числа от пользователя, сохраняет их в массиве типа fraction, вычисляет среднее значение и выводит результат. т.е. пользователь вводит к примеру 1/2, 2/3, 3/4, 4/5 а в ответ получает среднее значение 419/720 программа работает неправильно, выводит ноли. где ошибка? #include "stdafx.h" #include <iostream> #include <cmath>...
C++ Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю Доброго всем времени суток!Пожалуйста помогите сформировать вектор. Дана правильная несократимая дробь нужно получить последовательность число цифр которой равно знаменателю,а сумма этих цифр -числителю.Напечатать в виде 1.1.2.1.2; Вот мой вариант. #include <iostream> #include <stdlib.h> #include <vector> #include <algorithm> #include <iterator> #include <iomanip> подробнее

Показать сообщение отдельно
f0rtung
2 / 2 / 2
Регистрация: 24.07.2014
Сообщений: 9
25.07.2014, 13:15     Конкатенация строк: Зачем строки создаются в динамической памяти?
у меня в Geany работает, в Qt не выводится результирующая строка. Проблема в том. что у вас указатель char* string в функции склеивания ни на что не ссылается.
Попробуйте вот такой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <cstring>
using namespace std;
char* Concatenate(char* string1, char* string2)
{
    char* string = new char[strlen(string1) + strlen(string2)];
    int i,j;
    for (i=0; string1[i]!='\0'; i++)
        string[i]=string1[i];
    for (j=0; string2[j]!='\0'; j++,i++)
        string[i]=string2[j];
    string[i]='\0';
    return string;
}
int main()
{
    int a = 3;
    char string1[a];
    char string2[a];
    cout << "Enter first string" << endl;
    cin >> string1;
    cout << "Enter second string" << endl;
    cin >> string2;
    cout << "Result:=  " << Concatenate(string1, string2) << endl;
    return 0;
}
если нельзя использовать встроенную функцию вывода длины строки, ее можно тоже самому написать, или цикл сделать.
 
Текущее время: 05:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru