Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 14.05.2016
Сообщений: 94
1

Массив всех возможный комбинаций ()ошибка

13.11.2018, 20:45. Показов 1360. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создал новую тему по этому вопрос. Имеется рабочий код но при некоторый комбинациях программа вылетает. а-максимальное число в комбинациях, N-количество столбцов. Комбинации типа 7-7 5-5 6-3. Но вот все комбинации где максимальное число 1(1-3 и тд) оно выводит правильно но и выдает ошибку, так же 4-7 4-8 и тд вылетает(. Программа - has triggered a breakpoint и что делать я не знаю.
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
using namespace std;
int main(int argc, char* argv[])
{
 
 
    int a, N;
    cin >> a;
    cin >> N;
    int *arr = new int[a];
 
        for (int i = 0; i < N; i++)
        {
            arr[i] = a;
        }
 
        while (1) {
            for (int i = 0; i < N; i++)
            {
                cout << arr[i] << " ";
                 
            }
            cout << endl;
            int j;
            for (j = N - 1; j >= 0; j--) {
                if (arr[j] > 0) {
                    arr[j]--;
                    for (int i = j + 1; i < N; i++)
                        arr[i] = arr[j];
 
                    break;
                }
            }
            if (j < 0) break;  // Остались одни нули
        }
     
     
    delete []arr;
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2018, 20:45
Ответы с готовыми решениями:

Поиск всех возможный комбинацай трехзначных чисел в массиве
Доброго времени суток. Столкнулся с проблемой поиска трехзначных чисел. Например дан массив a. ...

Перебор всех комбинаций
Здравствуйте, подскажите как переделать этот код, что бы он начинал с нужной длины строки?...

Сортировка всех возможных комбинаций 4 из 8
Задача состоит в том, что бы сложить 4 элемента массива, который состоит из 8 элементов, во всех...

Алгоритм генерации всех комбинаций
Здравствуйте, есть массив типа int, размер 256 в каждой ячейке цифра от 1 до 4. Нужен быстрый...

7
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
13.11.2018, 22:30 2
N - размер массива или a?
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 173
13.11.2018, 22:37 3
в 16 строке написано 1. Ты так и хотел бесконечный цикл?

Добавлено через 4 минуты
Запустил твою программу. Всё работает без ошибок.
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
#include "pch.h"
#include <iostream>
#include "cmath"
#include <string>
#include <array>
#include <fstream>
 
 
int main()
{
    using namespace std;
 
 
        int a, N;
        cin >> a;
        cin >> N;
        int *arr = new int[a];
 
        for (int i = 0; i < N; i++)
        {
            arr[i] = a;
        }
 
        while (1) {
            for (int i = 0; i < N; i++)
            {
                cout << arr[i] << " ";
 
            }
            cout << endl;
            int j;
            for (j = N - 1; j >= 0; j--) {
                if (arr[j] > 0) {
                    arr[j]--;
                    for (int i = j + 1; i < N; i++)
                        arr[i] = arr[j];
 
                    break;
                }
            }
            if (j < 0) break;  // Остались одни нули
        }
 
 
        delete[]arr;
 
    system("pause");
    return 0;
}
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
13.11.2018, 23:12 4
Цитата Сообщение от DuDusty Посмотреть сообщение
has triggered a breakpoint
Это похоже на сообщение отладчика. Типа того, что он остановился там, где вы ему указали (поставили BreakPoint). Точно не скажу, давно отладчиками не пользуюсь. Надеюсь больше на себя. Ибо однажды в очень тяжелой (моей) ошибке отладчик такую чушь понес! Хотя в простых ситуациях (и даже не очень простых) отладчик здорово может помочь. Только надо знать, чего от него хочешь, а не бессмысленно тыкать в клавиши.
0
1 / 1 / 0
Регистрация: 14.05.2016
Сообщений: 94
14.11.2018, 13:39  [ТС] 5
а - это максимальное число комбинации N- количество столбцов). Как тут в примере а=2 N=4.
Изображения
 
0
1 / 1 / 0
Регистрация: 14.05.2016
Сообщений: 94
14.11.2018, 13:42  [ТС] 6
Введите например 3 7.Мне выдает ошибку. В вижуале просто креш, а на линуксе когда пытаюсь что то такое выдает.
Миниатюры
Массив всех возможный комбинаций ()ошибка  
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
14.11.2018, 14:14 7
Ну так почему тогда в 9-й a, а не N?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
14.11.2018, 19:44 8
Лучший ответ Сообщение было отмечено DuDusty как решение

Решение

Цитата Сообщение от shuraros1 Посмотреть сообщение
int *arr = new int[a];
Строка 17. Надо
C++
1
int *arr = new int[N];
Посмотри, какой массив ты заполняешь...
Цитата Сообщение от shuraros1 Посмотреть сообщение
for (int i = 0; i < N; i++)
* * * * {
* * * * * * arr[i] = a;
* * * * }
И так далее...

Добавлено через 1 минуту
shuraros1, простите, я вас перепутал с ТС. Но замечания (к вашему коду) в силе.

Добавлено через 2 минуты
Цитата Сообщение от DuDusty Посмотреть сообщение
int *arr = new int[a];
У ТС та же ошибка. Строка 9.

Добавлено через 3 минуты
DuDusty, И эта ошибка вас преследует уже давно....
1
14.11.2018, 19:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2018, 19:44
Помогаю со студенческими работами здесь

Алгоритм нахождения всех возрастающих комбинаций
Доброго время суток форумчане. Встретил задачу над корой бьюсь уже второй день, направьте мои мысли...

Быстрый перебор всех комбинаций 32 байтов
Здравствуйте, как можно очень быстро перебрать все комбинации 32 байтов, с записью результата в...

Реализовать алгоритм всех возможных комбинаций восьми ферзей
Доброго времени суток! Мне стыдно задавать такой вопрос, но всё же, как реализовать алгоритм всех...

Написать функцию для генерации всех комбинаций цифр
Здравствуйте, как написать такую функцию: Есть переменная типа string: string str = &quot;58422&quot;; как...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru