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

Может ли купить покупатель вещь стоимости S так, чтобы у продавца нашлась точная сдача - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массиви. http://www.cyberforum.ru/cpp-beginners/thread325686.html
Дан массив целых чисел. Найти: -среднее арифметическое; -(максимальное значение; -количество отрицательных элементов; -номера минимального элемента; -количество четных чисел; -минимальный из четных элементов этого массива.
C++ Напечатать список сотрудников, имеющих высшее образование. В файл записать информацию о сотрудниках некоторого предприятия: фамилия, домашний адрес, телефон, образование, оклад. Напечатать список сотрудников, имеющих высшее образование. http://www.cyberforum.ru/cpp-beginners/thread325685.html
C++ Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B
Даны векторы A, B, C, у каждого из которых есть хотя бы одна отрицатель- ная компонента. Символьной переменной L присвоить значение true, если отрицательная компонента вектора C встретится не позднее, чем у векторов A и B (компоненты просмат- риваются в порядке возрастания их номеров), и значение false в противном случае. Вот я написал прогу вроде всё работает но мне кажется что я её не так...
Нужно закрасить графический объект в dev cpp C++
Помогите закрасить графический объект в dev cpp в желтый цвет с черными краями #include <graphics.h> int main() { initwindow(800,600); circle(160,100,50); circle(160,100,40); circle(145,80,10); circle(145,80,5);
C++ Несбалансированное бинарное дерево с рекурсивным обходом в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread325643.html
добрый день. помогите пожалуйста с реализацией кода: .Несбалансированное бинарное дерево с рекурсивным обходом в обратном порядке (левое поддерево – правое поддерево – узел).
C++ Программа изменения слов Программа должна изменять все слова во вводимой пользователем фразе следующим образом: первая буква слова ставится в конец, а после нее добавляются еще 2 буквы "ау". Т.е. например слово "jump" - "umpjay", "the" - "hetay" и т.п. Вот мой код, ошибка Access violation и выводит много бреда: #include <iostream> #include <cstdlib> #include <cstring> using namespace std; void printLatinWord(... подробнее

Показать сообщение отдельно
nikitos7832
 Аватар для nikitos7832
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 27
07.06.2014, 22:59     Может ли купить покупатель вещь стоимости S так, чтобы у продавца нашлась точная сдача
Писал недавно аналогичную задачу... может кому поможет
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "stdafx.h"
#include <fstream>
#include <ctime>
using namespace std;
bool inc(int *a, int n)                                 //2 perebor, doshli do konca - return false
{                 
    int i=0;
while((a[i]!=0)&&(i<n))
    i++;
if (i<n){
for (int j=0; j<i; j++)
    a[j]=0;
    a[i]=1;
    return true;}
else return false;
}
 
void zero(int *a, int n)                                //obnulenie 2-massiva
{                
    for (int i=0; i<n; i++)
        a[i]=0;
}
 
 
int cash(int *a, int *b, int n){
int s=0;
for (int i=0; i<n; i++)
    s+=a[i]*b[i];
return s;
} 
 
    
int main()
{
    ifstream in("in.txt");
    ofstream out("out.txt");
    int s=0, *a, *b, *p1, *p2, n, m, st=0;
    in >> n;
    a=new int[n];
    p1=new int[n];
    zero(p1,n);
    in >> m;
    b=new int[m];
    p2=new int[m];
    zero(p2,m);
    in >> s;
    for(int i=0; i<n; i++)
    {
        in >> a[i];
    }
    for(int i=0; i<m; i++)
    {
        in >> b[i];
    }
    int i=0, razn=0, zd=0;
    while(inc(p1,n))
    {
        zero(p2,m);
        st=cash(a,p1,n);
        razn=st-s;
        if (st>s)
            while(inc(p2,m))
                {
                    zd=cash(b,p2,m);
                    if(zd==razn)
                    {
                        out << "Yes";
                        return 0;
                    }
                }
        if (st==s)
        {
            out << "Yes";
            return 0;
        }
    }
    out << "No";
    return 0;
}
З.Ы. есть 1 но! задача олимпиадная - т.е. на нее есть ограничения (например время выполнения - не более 3 секунд). Так вот при очень больших тестах (сумма поядка 2 000 000, и количиство монет и у продавца и у покупателя ~ 100) программа вылетает за пределы выполнения в 3 секунды.

Добавлено через 4 минуты
забыл сказать... ничего присущего сугобо MVS не использовал поэтому по идее на Борланде тоже должно работать
 
Текущее время: 03:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru