Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 26.05.2015, 20:10   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию String в char

Здравствуйте. Нашла код перестановки без повторений в интернете. Нужна программа без использования шаблонов,но что-то не получается преобразовать string в char.Можете подсказать что не так
Код:

#include <iostream>
#include <string>
using namespace std;
const int max_length = 8;
char word[max_length];
bool used[max_length];
int length;
char *current_word; ///эта переменная была string

void recursion(int current_length)
{
	if(current_length == length)
	{
		cout << current_word<< endl;
		return;
	}
	for(int i = 1; i<= length; i++)
		if(used[i] == false)
		{
			current_word+=word[i];
			used[i]=true;
			recursion(current_length+1);
		//	current_word.erase(current_word.end()-1,current_word.end());
			used[i]=false;
		}
}

int main()
{
	cin >> length;
	for(int i = 1; i<=length; i++) 
		cin >> word[i];
	for(int i = 1; i<=length; i++) 
	cout<<word[i];
	recursion(0);
	return 0;
}
Вероника99 вне форума   Ответить с цитированием
Старый 26.05.2015, 20:19   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,075
По умолчанию

Указатель есть - память не выделили.
Строки чар не складываются +
Вас не смущает, что потоки такие же шаблоны, как и стринг
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 27.05.2015, 15:57   #3
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

А какая есть альтернатива current_word+=word[i];? Думала на счет strcpy, но второй параметр должен быть константой, а word[i] я никак не могу сделать константой.
Вероника99 вне форума   Ответить с цитированием
Старый 27.05.2015, 17:08   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,075
По умолчанию

Цитата:
но второй параметр должен быть константой
Не должен, тут указывается, что строка не будет изменяться в функии.

Цитата:
Думала на счет strcpy,
Ну вам же не копировать строки надо, а соединять. Думайте дальше в сторону strcat и ее аналогов.
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
char[] to string Shahzod Общие вопросы C/C++ 1 23.12.2013 11:03
new string из char[] JOFRIF Общие вопросы по Java, Java SE, Kotlin 2 21.05.2013 08:21
string-char-wchar_t-char-string чето потерял magog7 Общие вопросы C/C++ 0 08.08.2011 20:21
string vs. char tools Общие вопросы C/C++ 9 22.12.2010 02:49


04:14.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.