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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
tolkin
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 18
#1

Вывести на экран все возможные перестановки введенных символов. Где ошибка? - C++

11.01.2014, 18:23. Просмотров 1536. Ответов 7
Метки нет (Все метки)

С клавиатуры задается последовательность символов. Написать программу, которая выводит на экран все возможные перестановки введенных символов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdio>
#include <cstring>
 
void f(char*a);
int main()
{
char str[]="vi na";
f(str);
puts(str);
}
void f(char*a)
{
int l=strlen(a); 
for(int i=0;i<l;i+=2)
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести на экран все возможные перестановки введенных символов. Где ошибка? (C++):

Вывести на экран все возможные перестановки введенных ползователем символов - C++
С клавиатуры задается последовательность символов. Написать программу, которая выводит на экран все возможные перестановки введенных...

Все возможные варианты перестановки символов строки - C++
Дана строка s, состоящая из n символ (n меньше 6) составить все возможные варианты перестановки этих символов (язык C)

Рекурсивная функция: все возможные перестановки символов строки - C++
Дана строка с n элементами. Например abs. Надо выводить все возможные варианты например abs asb bas bsa sab sba. Надо...

Вывести все возможные перестановки слов в предложении - C++
С клавиатуры пишем предложение. Вывести все возможные перестановки тех слов в этом предложении, что не содержат первых десяти букв...

Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. - C++
Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. Ввод В первой строке файла...

Рекурсия. Вывести на экран все перестановки чисел от 1 до n в лексикографическом порядке. - C++
При помощи рекурсии по данному числу n выведите на экран все перестановки чисел от 1 до n в лексикографическом порядке. Нужен текст...

7
TyomaR
24 / 24 / 1
Регистрация: 05.08.2013
Сообщений: 20
11.01.2014, 18:37 #2
Цитата Сообщение от tolkin Посмотреть сообщение
которая выводит на экран
По-моему, ваша программа ничего не выводит
1
tolkin
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 18
11.01.2014, 18:44  [ТС] #3
в курсе)
0
Croessmah
Эксперт CЭксперт С++
13513 / 7671 / 866
Регистрация: 27.09.2012
Сообщений: 18,885
Записей в блоге: 3
Завершенные тесты: 1
11.01.2014, 18:45 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
 
int main () {
  std::string str ;
  std::cin >> str ;
  std::cout << "START:\n";
  std::sort ( str.begin() , str.end() ) ;
  do {
    std::cout << str << '\n';
  } while ( std::next_permutation( str.begin() , str.end() ) );
  std::cout << "END" << std::endl ;
}
1
tolkin
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 18
11.01.2014, 18:50  [ТС] #5
Croessmah, а есть проще способ, поттому шо ишо не учил std:: ?
0
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 374
11.01.2014, 22:37 #6
tolkin, вы не могли не проходить std:: Это тема о пространстве имен,и если вы проходили iostream то должны знать ,что когда вы ее используете ,то необходимо использовать следующую директиву пространства имен,чтобы определения в iostream были доступны в программе: using namespace std; Это называется директивой using. Так вот ,директиву using можно опустить и записать код например следующим образом: std::cout<< ,std::>>cin , std:: endl;
Директива using namespace std; означает,что ты можешь применять имена,определнные в пространстве имен std ,без префикса std:: Эта директива using делает доступными все имена в пространстве имен std.
using std::cout; // делает доступным cout
using std::endl ; //делает доступным endl
using std::cin; //делает доступным cin
Я почему так подробно пытаюсь разжевать . Ты две темы открыл одинаковые. эту и эту Вывести на экран все возможные перестановки введенных ползователем символов кажется так не следует делать. Начал в одной теме вопрос ,там его и доведи до конца Я в своем коде поленился сделать ввод символьной строки ,а Croessmah предоставил краткий ,предельно простой код. с использованием библиотеки #include <algorithm>
и строчка } while ( std::next_permutation( str.begin() , str.end() ) ); говорит о использовании функции next_permutation всего лишь из этой библиотеки.
1
tolkin
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 18
11.01.2014, 22:42  [ТС] #7
спосибо) извени, што открил две одинаковие теми..

Добавлено через 2 минуты
я тепер, понял.
0
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 374
11.01.2014, 22:45 #8
Вывести на экран все возможные перестановки введенных ползователем символов Я сам учусь ,ты тоже извини.
0
11.01.2014, 22:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 22:45
Привет! Вот еще темы с ответами:

Массивы. Вычислить по формуле и вывести на экран все возможные комбинации сумм чисел - C++
Доброго всем времени суток.Я делаю только первые шаги в программировании.Начал разбираться с массивами простенькие задачки вроде...

Все возможные перестановки элементов заданного массива - C++
Помогите вывести на консоль все возможные перестановки элементов заданного массива void printPermutations (int items , int itemsLength) {...

Все возможные перестановки букв слова - нужен алгоритм - C++
Доброго времени суток, форумчане. Помогите пожалуйста найти/составить алгоритм решения следующей задачи: Дано слово. Найти все возможные...

С помощью метода эффективного порождения перестановок вывести на экран все перестановки множества - C++
Напишите пожалуйста программу задание такое: С помощью метода эффективного порождения перестановок вывести на экран все перестановки...


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

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

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