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

Найти минимальное количество купюр для оплаты суммы

28.10.2014, 23:43. Показов 3742. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я саму программу написал, да вот во время выполнения, в консоли, после ввода мною переменной summa, вообще ничего не происходит. Консоль даже не закрывается. Помогите пожалуйста! )
Задачка: Валюта некой туманной страны представлена купюрами номиналом 20 ёжиков, 10 ёжиков, 5 ёжиков и 1 ёжик.
Написать программу, показывающую минимальное количество купюр для представления
введенной пользователем суммы. Пример:

Введите сумму: 93

20 ёжиков: 4

10 ёжиков: 1

5 ёжиков: 0

1 ёжик: 3

Считайте, что суммы могут
быть только целочисленными.
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
#include <stdio.h>
#include <conio.h>
int main ()
{
    int summa,twenty,ten,five,one,summa20,summa10,summa5,summa1;
    twenty=0; ten=0; five=0; one=0; summa20=0; summa10=0; summa5=0; summa1=0;
    printf ("Введите сумму:");
    scanf ("%d", &summa);
    summa20=summa;
    if (summa20>=20)
        while (summa20>=20);
        {
            summa20=summa20-20;
            twenty=twenty+1;
        }
    summa10=summa-(twenty*20);
    if (summa10>=10)
        while ( summa10>=10);
        {
            summa10=summa10-10;
            ten=ten+1;
        }
    summa5=summa-((twenty*20)+(ten*10));
    if (summa5>=5)
        while (summa5>=5);
        {
            summa5=summa5-5;
            five=five+1;
        }
    summa1=summa-((twenty*20)+(ten*10)+(five*5));
    if (summa1>=1)
        while (summa1>=1);
        {
            summa1=summa1-1;
            one=one+1;
        }
    printf ("%d %d %d %d", twenty,ten,five,one);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2014, 23:43
Ответы с готовыми решениями:

Найти минимальное количество купюр, которое необходимо использовать, чтобы выдать сумму в n гривен
В банкомате имеются в достаточном количестве купюры номиналом 10, 20, 50, 100, 200 и 500 гривен....

Определить минимальное количество купюр, необходимое для покупки
Часто граждане пытаются выяснить, насколько богатыми являются депутаты. Некоторые верят, что...

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

Найти наименьшее количество купюр и монет для выдачи N рублей
Найти наименьшее количество купюр и монет для выдачи N рублей

3
Вездепух
Эксперт CЭксперт С++
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,076
28.10.2014, 23:45 2
А что, отладчиком воспользоваться - не судьба?

Вот это

C++
1
while (summa20>=20);
бесконечный цикл с пустым телом. Немедленно уберите все ';' после заголовков циклов. Зачем вы их туда понаставили? Должно быть

C++
1
2
3
4
5
while (summa20>=20)
{
    summa20=summa20-20;
    twenty=twenty+1;
}
Также все эти 'if' перед каждым циклом совершенно не нужны. Циклы и так проверяют то же самое условие.
1
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 5
29.10.2014, 00:01  [ТС] 3
Упс! Прошу прощения. Ошибку нашел. И почему так всегда, не найду ошибку пока куда-нибудь не выложу
0
8 / 8 / 7
Регистрация: 28.10.2014
Сообщений: 176
29.10.2014, 00:54 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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
 
using namespace std;
int main(){
    setlocale(LC_ALL, "rus");
 
    int N;
    cin >> N;
    int  i = 0, z, c, b, a;
    
        b = N / 20;
        a = (N-b*20)/10 ;
        c = (N-b*20-a*10) / 5;
        z = (N - b * 20 - a * 10 - c * 5);
        
 
 
 
    
    cout <<"Двадцаток"<< b << endl;
    cout <<"Десяток"<< a << endl;
    cout <<"Пятерок"<< c << endl;
    cout <<"Рубликов "<< z << endl;
    cout << "Сумма купюр " << z+a+c+b << endl;
 
 
 
    _getch();
 
    return 0;
}
Добавлено через 11 минут
Или вам необходим цикл?
1
29.10.2014, 00:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2014, 00:54
Помогаю со студенческими работами здесь

Найти наименьшее количество купюр и монет для выдачи энного количества рублей
Найти наименьшее количество купюр и монет для выдачи N рублей

как рассчитать количество купюр при неполном ряду номиналов купюр?
При полном массиве номинала (до единиц) - понятно. Куча примеров на форуме. А что делать, если...

Задана некоторая сумма в рублях, определить минимальное количество монеток для набора этой суммы
задана некоторая сумма в рублях.определить минимальное количество монеток достоинством 1, 2 и 5...

Найти количество отданных купюр
Покупатель должен заплатить в кассу 5руб. У него имеются купюры по 1, 5, 10, 50, 100, 500, 1000 и...

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

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


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

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