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

Программа вылетает (банкомат) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что делает отператор Strlen? http://www.cyberforum.ru/cpp-beginners/thread329237.html
Подскажите то делает в С++ "strlen"
C++ Ошибка компиляции, класс, файлы. Здравствуйте участники форума, недавно занялся программированием по книге Дирка Хенкеманса "Программирование игр на С++" Компиляция при распределении классов по файлам, возвращает ошибки. Долгие... http://www.cyberforum.ru/cpp-beginners/thread329224.html
Строки C++
Заменить все гласные в тексте на звездочку. И подсчитать количество таких букв. Нигде не могу найти, везде есть коды на Паскале, а на С нет.
C++ Операторы cin и scanf
Пример кода: void func(float* p){ cout << "Введите значение"; scanf("%f\n", &p); } Как можно прочитать ссылку через cin ? При записи cin >> &p; - ошибка C2678
C++ C++ и ASM http://www.cyberforum.ru/cpp-beginners/thread329193.html
Всем привет. Необходимо посчитать уравнение на языке ASM и вывести ответ на языке С++. Вот готовая программа на ASM с выводом на экран значения. data segment a dw 2 b dw 6 _c dw 12 d dw 3 e...
C++ как добавить рисунок в программу? знаю, что добавляется через меню project -> add resource->bitmap, но эта функция "add resource" неактивная, подскажите как сделать ее активной? подробнее

Показать сообщение отдельно
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539

Программа вылетает (банкомат) - C++

03.07.2011, 20:57. Просмотров 1454. Ответов 9
Метки (Все метки)

Здравствуйте, есть задача
В некотором государстве в обращении находятся банкноты определенных номиналов. Национальный банк хочет, чтобы банкомат выдавал любую запрошенную сумму при помощи минимального числа банкнот, считая, что запас банкнот каждого номинала неограничен. Помогите Национальному банку решить эту задачу.

Формат входных данных

Первая строка входных данных содержит натуральное число n, 0<n<=100. Вторая строка входных данных содержит n различных натуральных чисел x1, x2, ..., xn, не превосходящих 1.000.000. Третья строчка содержит натуральное число S, не превосходящее 5.000.000.

Формат выходных данных

Программа должна найти представление числа S в виде суммы слагаемых из множества {xi}, содержащее минимальное число слагаемых и вывести это представление на экран (в виде последовательности чисел, разделенных пробелами). Если таких представлений существует несколько, то программа должна вывести любое (одно) из них. Если такое представление не существует, то программа должна вывести слово impossible.

Пример

Входные данные

5
1 3 7 12 32
40
Выходные данные

1 7 32
Входные данные

5
10 50 100 500 1000
99
Выходные данные

impossible
Заменим пока условие вывода на posible и imposible без вывода, я сделал программу
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
54
55
56
#include "stdafx.h"
#include "iostream"
#include "vector"
 
using namespace std;
 
int n;
int s;
bool isImposible;
vector<int> numbers;
 
void next(int source , vector<int> usingNumbers = * new vector<int>)
{
    if (!isImposible)
    {
        for(int a=numbers.size()-1;a>=0;a--)
        {
            int newSource = s - numbers[a];
            if (newSource==0)
            {
                isImposible = true;
                break;
            }
            if (newSource > 0)
            {
                vector<int> v = usingNumbers;
                v.push_back(newSource);
                next(newSource,v);
            }
        }
    }
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    isImposible = false;
    FILE * file;
    file = fopen("input.txt", "rt");
    fscanf(file, "%d", &n);
    cout << n << endl;
    for (int a=0;a<n;a++)
    {
        int q;
        fscanf(file, "%d", &q);
        numbers.push_back(q);
        cout << q << " ";
    }
    cout << endl;
    fscanf(file, "%d", &s);
    cout << s << endl;
    next(s);
    if (isImposible)
        cout << "Posible!";
    cin >> *new int;
    return 0;
}
Долго искал ошибку, но не нашел, программа вылетает с ошибкой "необработанное исключение" после долгого выполнения
Заранее спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru