Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
2 / 2 / 0
Регистрация: 06.12.2010
Сообщений: 135

У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(m)

07.07.2011, 19:43. Показов 3635. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(m). Может ли купить покупатель вещь стоимости S так, чтобы у продавца нашлась точная сдача (если она необходима).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2011, 19:43
Ответы с готовыми решениями:

10 видов монет достоинством a1..a10
Даны натуральные числа, a1..a10. Предположим, что имеются 10 видов монет достоинством a1..a10. Обозначим через Bk-это число решения...

Определить сколько монет достоинством в 20 и 50 рублей и каковы их порядковые номера
В коллекции нумизмата не более чем 90 монет всех возможных достоинств.Определить сколько монет достоинством в 20 и 50 рублей и каковы их...

Как наименьшим количеством монет можно выплатить N копеек?Предполагается,что в достаточном количестве имеются монеты достоинством 1,2.3.5.10,15,20,50
Дано натуральное число N.Как наименьшим количеством монет можно выплатить N копеек?Предполагается,что в достаточном количестве имеются...

4
 Аватар для ZevsNet
79 / 51 / 46
Регистрация: 30.09.2010
Сообщений: 138
08.07.2011, 05:27
Pascal
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
80
81
82
83
84
85
86
87
88
uses crt;
const
    Max = 100;
type 
    MyType = array [1..Max]of integer;
procedure CreatArr(var TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                TheArr[i]:=random(max);
        end;
end;
{}
//вывод массива
procedure PrintArr(TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                write(TheArr[i],' ');
        end;
        writeln;
end;
{}
function Final(H,B:MyType;S:integer;n,m:integer):boolean;
var
    i,j:integer;
    Clon_Price:boolean;
    Temp:integer;
begin
    Final:=True;
    Clon_Price:=False;
    for i:=1 to n do
    begin
        if(H[i] = S)then
        begin
            Clon_Price:=True;
        end;
    end;
    if(Clon_Price=False)then
    begin
        for i:=1 to n do
        begin
            if(H[i]>20)then 
            begin
                Temp:=H[i]-S;
                for j:=1 to m do
                begin
                    if(B[i]=Temp)then
                    begin
                        Clon_Price:=True;
                    end;
                end;
            end;
        end;
    end;
    Final:=Clon_Price;
end;
var
    n,m:integer;
    S:integer;
    H,B:MyType;
begin
    repeat
        write('Введите количество монет у продавца и покупателя:');
        readln(n,m);
    until(n<Max)and(m<Max);
    write('введите сумму товара:');
    readln(S);
    CreatArr(H,n);
    CreatArr(B,m);
    {}
    PrintArr(H,n);
 
    PrintArr(B,m);
    {}
    if(Final(H,B,S,n,m) = True)then
    begin
        write('Купит!!');
    end
    else
    begin
        write('Нет сдачи');
    end
end.
1
2 / 2 / 0
Регистрация: 06.12.2010
Сообщений: 135
08.07.2011, 06:21  [ТС]
Цитата Сообщение от ZevsNet Посмотреть сообщение
Pascal
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
80
81
82
83
84
85
86
87
88
uses crt;
const
    Max = 100;
type 
    MyType = array [1..Max]of integer;
procedure CreatArr(var TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                TheArr[i]:=random(max);
        end;
end;
{}
//вывод массива
procedure PrintArr(TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                write(TheArr[i],' ');
        end;
        writeln;
end;
{}
function Final(H,B:MyType;S:integer;n,m:integer):boolean;
var
    i,j:integer;
    Clon_Price:boolean;
    Temp:integer;
begin
    Final:=True;
    Clon_Price:=False;
    for i:=1 to n do
    begin
        if(H[i] = S)then
        begin
            Clon_Price:=True;
        end;
    end;
    if(Clon_Price=False)then
    begin
        for i:=1 to n do
        begin
            if(H[i]>20)then 
            begin
                Temp:=H[i]-S;
                for j:=1 to m do
                begin
                    if(B[i]=Temp)then
                    begin
                        Clon_Price:=True;
                    end;
                end;
            end;
        end;
    end;
    Final:=Clon_Price;
end;
var
    n,m:integer;
    S:integer;
    H,B:MyType;
begin
    repeat
        write('Введите количество монет у продавца и покупателя:');
        readln(n,m);
    until(n<Max)and(m<Max);
    write('введите сумму товара:');
    readln(S);
    CreatArr(H,n);
    CreatArr(B,m);
    {}
    PrintArr(H,n);
 
    PrintArr(B,m);
    {}
    if(Final(H,B,S,n,m) = True)then
    begin
        write('Купит!!');
    end
    else
    begin
        write('Нет сдачи');
    end
end.
На С++ сделать сможешь
0
 Аватар для ZevsNet
79 / 51 / 46
Регистрация: 30.09.2010
Сообщений: 138
08.07.2011, 11:59
вроде так

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
80
81
82
83
84
85
86
87
88
89
#include <iostream.h>
 
//using namespace std;
const int max = 100;
//procedure Enter Array
int CreatArr (int _Arr[],int _Size)
{
    for (int i=0;i<_Size;i++)
    {
        cin >> _Arr[i];
    }
    cout << "\n";
    return 0;
}
//{}
//procedure Print
int PrintArr(int Arr[],int _Size)
{
    for (int i=0;i<_Size;i++)
    {
        cout << Arr[i];
    }
    cout << "\n";
    return 0;
}
//{}
int Final(int H[],int B[],int S,int n,int m)
{
    int i,j;
    int Clon_Price;
    int Temp;
    Clon_Price = 0;
    for (i=0; i<n;i++)
    {
        if(H[i] == S)
        {
            Clon_Price = 1;
        }
    }
    if(Clon_Price == 0)
    {
        for (i=1;i<n;i++)
        {
            if(H[i]>S) 
            {
                Temp = H[i]-S;
                for (j=1;j<m;j++)
                {
                    if(B[i] == Temp)
                    {
                        Clon_Price = 1;
                    }
                }
            }
        }
    }
    return Clon_Price;
}
int main()
{
    int n,m;
    int S;
    int H[max],B[max];
 
    do{     
        cout << "\nÂâåäèòå êîëè÷åñòâî ìîíåò ó ïðîäàâöà è ïîêóïàòåëÿ:";
        cin >> n ;
        cin >> m;
    }while(n>max);
    cout << "\nââåäèòå ñóììó òîâàðà:";
    cin >> S;
    CreatArr(H,n);
    CreatArr(B,m);
    //{}
    PrintArr(H,n);
 
    PrintArr(B,m);
    //{}
    if(Final(H,B,S,n,m) == 1)
    {
        cout << "Êóïèò!!!";
    }
    else
    {
        cout << "Íåò ñäà÷è";
    }
    return 0;
    getchar();
}
Добавлено через 1 минуту
Цитата Сообщение от povtiasd051 Посмотреть сообщение
if(H[i]>20)then
здесь нужно за место 20 поставить переменную S. просто опечатался когда тестировал
Это 47 строка на паскале
0
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
12.02.2014, 23:35
Цитата Сообщение от ZevsNet Посмотреть сообщение
Pascal
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
80
81
82
83
84
85
86
87
88
uses crt;
const
    Max = 100;
type 
    MyType = array [1..Max]of integer;
procedure CreatArr(var TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                TheArr[i]:=random(max);
        end;
end;
{}
//вывод массива
procedure PrintArr(TheArr:MyType;Size:integer);
var
        i:integer;
begin
        for i:=1 to Size do
        begin
                write(TheArr[i],' ');
        end;
        writeln;
end;
{}
function Final(H,B:MyType;S:integer;n,m:integer):boolean;
var
    i,j:integer;
    Clon_Price:boolean;
    Temp:integer;
begin
    Final:=True;
    Clon_Price:=False;
    for i:=1 to n do
    begin
        if(H[i] = S)then
        begin
            Clon_Price:=True;
        end;
    end;
    if(Clon_Price=False)then
    begin
        for i:=1 to n do
        begin
            if(H[i]>20)then 
            begin
                Temp:=H[i]-S;
                for j:=1 to m do
                begin
                    if(B[i]=Temp)then
                    begin
                        Clon_Price:=True;
                    end;
                end;
            end;
        end;
    end;
    Final:=Clon_Price;
end;
var
    n,m:integer;
    S:integer;
    H,B:MyType;
begin
    repeat
        write('Введите количество монет у продавца и покупателя:');
        readln(n,m);
    until(n<Max)and(m<Max);
    write('введите сумму товара:');
    readln(S);
    CreatArr(H,n);
    CreatArr(B,m);
    {}
    PrintArr(H,n);
 
    PrintArr(B,m);
    {}
    if(Final(H,B,S,n,m) = True)then
    begin
        write('Купит!!');
    end
    else
    begin
        write('Нет сдачи');
    end
end.
Хмм, а ведь подпрограмма не обрабатывает тот случай, когда сдачу можно дать несколькими монетами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2014, 23:35
Помогаю со студенческими работами здесь

Найти минимальное число монет достоинством в 50, 10, 5, и 1 копейку, необходимое для представения некоторой суммы
Найти минимальное число монет достоинством в 50, 10, 5, и 1 копейку, необходимое для представения некоторой суммы, меньшей 1-го рубля. ...

У покупателя есть n монет достоинством H(1)...H(n)
У покупателя есть n монет достоинством H(1)...H(n). У продавца есть m монет достоинством B(1)...B(l). Может ли купить покупатель вещь...

Способы выплаты суммы n с помощью монет достоинством 1,2,5,10 рублей
нужно составить програлу в делфи. в консольном окне. получить все способы выплаты суммы n с помощью монет достоинством 1,2,5,10...

Определить число способов выплаты суммы n руб. с помощью монет достоинством 1, 2, 5 рублей
22. Дано натуральное число n(n&lt;100). a) Определить число способов выплаты суммы n руб. с помощью монет достоинством 1,2,5 рублей и...

Сколько существует способов набора одного рубля при помощи монет достоинством 50коп., 20коп., 5коп. и 2коп
Составить алгоритм, определяющий, сколько существует способов набора одного рубля при помощи монет достоинством 50коп., 20коп., 5коп. и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru