Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 10:35   #1
ivanchel
 
Регистрация: 03.06.2011
Сообщений: 5
По умолчанию

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

Касса. В одномерном массиве в порядке убывания представлены
достоинства денежных знаков (купюр и монет) валютной системы
некоторой страны. Реализовать выдачу в этой системе заданной суммы –
m, минимальным числом денежных знаков.

Помогите пожалуйста, Очень сильно нужна ваша помощь.

Вот что я сам попытался построить) Только уверен что не то. Было более полная прога но она потеряна((( Спасибо нашем электро сетям(((
Код:
//

#include "stdafx.h"
#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])
{
	int m, arr[100500], count=0,i;

	printf("Vvedite kolichestvo 5000-nih kupur:");
	scanf("%f",&m);
	printf("Vvedite kolichestvo 1000-nih kupur:");
	scanf("%f",&m);
	printf("Vvedite kolichestvo 500-ih kupur:");
	scanf("%f",&m);
	printf("Vvedite kolichestvo 100-ih kupur:");
	scanf("%f",&m);

	while(1)
	{
		scanf("%d",&m);
		arr[count]=m;
		printf("\n\"");
	}
}

Последний раз редактировалось Stilet; 04.06.2011 в 14:01.
ivanchel вне форума Ответить с цитированием
Старый 03.06.2011, 16:51   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
#include <iostream>

using namespace std;

int main()
{
    int Denom[] = { 5000, 1000, 500, 200, 100, 50, 20, 10, 5, 2, 1 };  // Предполагается, что количество купюр неограничено
    int sum;
    cout << "Введите сумму к выдаче:\n";
    cin >> sum;
    cout << "Выдаю...\n";
    int i = 0;
    while (sum != 0)
    {
        while (sum >= Denom[i])
        {
            cout << Denom[i] << endl;
            sum -= Denom[i] ;
        }
        i++;
    }
    cout << "Конец выдачи\n";

}
При необходимости переделаешь под монеты с дробной частью (0.50, 0.20, ...).
Только учитывай погрешности работы с числами с плавающей точкой -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 03.06.2011, 22:33   #3
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Число 600
Номиналы 500,200, 25
Минимальная раскладка -200,200,200
Алгоритм -500+25*4

Последний раз редактировалось Biggs; 03.06.2011 в 22:43.
Biggs вне форума Ответить с цитированием
Старый 04.06.2011, 01:04   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Biggs Посмотреть сообщение
Число 600
Номиналы 500,200, 25
Минимальная раскладка -200,200,200
Алгоритм -500+25*4
Согласен...
Правда, денежная система какая-то гипотетическая получается... но суть дела это не меняет.
Значит, нужен другой алгоритм.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 04.06.2011, 12:27   #5
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Эта задача около месяца назад предлагалась на форуме и уважаемый MAD _CAT дал ссылку на олимпиаду , где она была решена в нескольких вариантах , к сожалению я сейчас ее не смог найти
Biggs вне форума Ответить с цитированием
Старый 04.06.2011, 13:34   #6
ivanchel
 
Регистрация: 03.06.2011
Сообщений: 5
По умолчанию

Спасибо всем огромное за помощь))) Прогу наконец то я доделал))) И сегодня я ее сдал))))
ivanchel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с построением диаграммы в Charte Kurai Помощь студентам 0 17.05.2010 20:37
Проблема с построением графика Pirat_of Microsoft Office Excel 2 19.05.2009 20:35
Проблема с построением графика и гиперболического парабалоида... добрый спаммер Microsoft Office Excel 2 19.05.2009 11:43
Проблема с построением графика xaero93 Помощь студентам 2 28.02.2009 21:30