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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
#1

Выведение всех перестановок - C++

05.07.2010, 12:33. Просмотров 2067. Ответов 3
Метки нет (Все метки)

Драсте, я вот все время писал на паскале и мне с трудом дается переход на c++. Не могу сделать и простых вещей, просто не разбираюсь в синтаксисе.
Вот например есть задача: вывести все перестановки чисел от 1 до n. Компилятор ругается, а я не понимаю почему. Обьясните пожалуйста ошибки.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include <cstdlib> 
using namespace std;
void swap( int i, int j, int a[])
{
    int temp=0;
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
}
void generate(int l, int r, int a[])
{
    int i;
    if (l==r)
        for ( i=0; i<r; i++)
            cout >> a[i];
    else 
        for (i=l; i<=r; i++)
              {
                  swap(l,i,a[]);
                  generate(l+1,r,a[]);
                  swap(i,l,a[]);
              }
}
int main()
{
  const int lmax=100;
  int length;
  cout <<"Input the number" << endl;
  cin >> length; 
  int a[lmax];
  for (int i=0; i<length; i++)
      a[i]=i+1;
 generate(1,length,a);
    return 0;
    cin.get();
}
Добавлено через 23 минуты
Ошибку с выведение в 17-18 строчке то можно исправить, заменив на что-то вроде
C++
1
printf("%.rs", a);
но все равно хотелось бы знать что там не так.

Обьясните мне как в функцию на вход правильно задать массив.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2010, 12:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выведение всех перестановок (C++):

Выведение всех возможных маршрутов в неориентированном графе - C++
Помогите пожалуйста составить программу для выведения всех возможных маршрутов в неориентированном графе

Генерация всех перестановок n элементного множества - C++
с++ 1) Напечатать все перестановки чисел от 1 до n используя рекурсивный алгоритм пример 123 132 213 231 312 321

Генерация массива всех перестановок из n элементов. - C++
Нашел по этой теме здесь на форумах такой код: #include &lt;iostream.h&gt; int X; int N; void Swap(int a,int b) { int t=X; ...

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

Рекурсивная процедура печати всех перестановок из n символов - C++
&quot;Написать процедуру печати всех перестановок из n символов&quot; методом рекурсии непривычно и трудно в C++ помогите пожалуйста! ...

Поиск всех перестановок символов из строки (0..9)..пожалуйста помогите!!! - C++
ведь наверняка ктото уже писал такие алгоритмы будь то на олимпеаде или где ещё!!!..... мне в универе позарез надо это я незнаю как даже...

3
buugman
16 / 16 / 2
Регистрация: 04.07.2010
Сообщений: 51
05.07.2010, 12:43 #2
В 18 строке смотри внимательнее у тебя вместо cout >> должно быть написано cout <<
1
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
05.07.2010, 12:45 #3
cout нужно использовать так:
C++
1
cout << a [i]
, а cin
C++
1
cin >> a [i]
В строках 22-24 в функцию нужно передавать не a.
0
Mee
14 / 14 / 1
Регистрация: 05.07.2010
Сообщений: 88
05.07.2010, 13:08  [ТС] #4
Понял, не a[], а просто а, спасибо
0
05.07.2010, 13:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2010, 13:08
Привет! Вот еще темы с ответами:

По перестановке определить его номер в лексикографическом перечислении всех перестановок множества - C++
По перестановке определить его номер в лексикографическом перечислении всех перестановок множества {1,2,…,n}. Формат входных данных: ...

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

Автоматическое выведение типа - C++
У С. Прата встретил вот такой непонятный код const double *f2(const double arr, int n) { return arr; } int main() { ...

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


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

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

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