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

Лексикографическое порождение перестановок - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Записать каждую строку из файла в элементы двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1083714.html
как записывать каждую строку из файла в элементы двумерного массива? есть файл zero.in в котором до 100000 строк длиной до 256 символов, эти символы все цифры необходимо первую строку записать в массив aa, вторую в aa, как это реализовать?, вот мой код: #include <stdio.h> #include <conio.h> #include <iostream> #include <fstream.h> int sizearray,sizearrays=0;
C++ Известно, что из четырех чисел a1, a2, a3, a4 одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n 12. Известно, что из четырех чисел a1, a2, a3, a4 одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n http://www.cyberforum.ru/cpp-beginners/thread1083701.html
Найти остаток от деления целой части выражения sin(a+b)0.5c на 4 и вывести на экран сообщение о величине остатка. C++
12. Найти остаток от деления целой части выражения sin(a+b)0.5c на 4 и вывести на экран сообщение о величине остатка. Если остаток равен 0, то значение выражения заменить на его целую часть. Если остаток равен 1, значение выражения заменить на его дробную часть. В остальных случаях оставить без изменения.
C++ Выход из двойного цикла
Как выйти при нажатии определенной кнопки из двойного цикла: #include<conio.h> #include<iostream> #include<cmath> #include<cstring> #include<cctype> using namespace std; int main(){ setlocale(LC_ALL, "Russian"); const int N = 20;
C++ Найти номер максимального по модулю элемента массива http://www.cyberforum.ru/cpp-beginners/thread1083686.html
Найти номер максимального по модулю элемента массива;
C++ В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы В массиве X(N) найти максимальный элемент массива и упорядочить по возрастанию все элементы, расположенные после найденного максимального элемента. подробнее

Показать сообщение отдельно
romanticVL
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 50
28.01.2014, 16:30     Лексикографическое порождение перестановок
Первая ячейка массива получает значение из -1 ячейки массива в строке while (A[i] > A[i + 1]) i--; Как исправить? генерация работает нормально, но теряется первое значение. Помогите!

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "Rus");
 
    const int n = 3;
    int A[n];
    
    
    for (int k = 0; k < n; k++) 
    {
        //cout << "Введите символ" << endl;
        A[k] = n - k;
    }
    
    cout << "\tГенерация" << endl;
    
    int i = 1;
    while (i != 0)
    {
        for (int l = 0; l < n; l++) cout << A[l] << ' ';
        
        // Найти самое правое место, где A[i] < A[i + 1]
        i = n - 1;
        
        while (A[i] > A[i + 1]) i--; // тут ошибка вылазиет!
 
        // Найти A[j], наименьший элемент справа от A[i] и больший его
        int j = n;
        while (A[i] > A[j]) j--;
 
        // Поменять местами A[i] и A[j] и затем перевернуть A[i + 1], ... , A[n]
        swap (A[i], A[j]);
        int r = n;
        int s = i + 1;
 
        while (r > s)
        {
            swap (A[r], A[s]);
            r--;
            s++;
        }
        cout << endl;
    }
 
 
    _getch();
    return 0;
}
Добавлено через 24 минуты
Помогите кто-нибудь!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru