IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача про монеты
Lodar'
сообщение 29.01.2009 15:09
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


задача такая: Cоставить программу определяющюю сдачу с рубля наименьшим количеством монет.
Используемые монеты: 1коп, 2коп, 3коп, 5коп, 10коп, 15коп, 20коп, 50коп
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.01.2009 15:38
Сообщение #2


Гость






Стоп... Это - олимпиадная задача: Здесь - условия , поэтому тема пока закрыта... Решения олимпиадных задач с олимпиад, проходящих в настоящее время - не будет...

Добавлено через 12 мин.
P.S. Приводи свою попытку решения задачи, если она у тебя есть, поможем разобраться что не так.
 К началу страницы 
+ Ответить 
Lodar'
сообщение 29.01.2009 15:56
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


 program Pr1;
const
Nmonet=8;
type
Tmassive=array[1..Nmonet] of real;
var
sdaha,price:real;
monet:Tmassive;
numb:integer;
function Podshet(const rnd:real):integer;
var
tmp:real;
i,count:integer;
begin
count:=0;
tmp:=rnd;
i:=1;
repeat
if tmp-monet[i]>=0 then
begin
tmp:=tmp-monet[i];
count:=count+1;
end
else
i:=i+1;

until tmp=0 ;
Podshet:=count;
end;
procedure fillMass;
begin
monet[1]:=0.5;
monet[2]:=0.2;
monet[3]:=0.15;
monet[4]:=0.1;
monet[5]:=0.05;
monet[6]:=0.03;
monet[7]:=0.02;
monet[8]:=0.01;
end;
begin
fillMass;
writeln('Vvedite LLEHY TOBAPA');
readln (price);
sdaha:=1-price;
numb:=Podshet(sdaha);
writeln(numb);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
amega
сообщение 29.01.2009 16:05
Сообщение #4


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


да че мучатся давать здачу нада по 1 коп, шоб побольше было lol.gif

все просто, береш масив от 1 до 8. будем щитать что а1 это 1 коп, а2 - 2 коп ....
берем здачу смотрим если она больше 50 коп то отнимаем 50 и а8:=а8+1 иначе смотрим если она меньше 50 то смотрим для 25 и так пока здача не стала 0.
на выходе получается масив
де каждый елемент соответствует количеству монет yes2.gif

хехе пока я набирал текст уже програмку напечатали)))

Сообщение отредактировано: amega - 29.01.2009 16:06
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lodar'
сообщение 29.01.2009 16:24
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


написанная мной прога не работает. Подскажите пожалуйста где что не так? и где что можно улучшить
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.01.2009 17:16
Сообщение #6


Гость






Lodar', задача решается гораздо проще - по вышеописанному алгоритму:

program Pr1;
const
Nmonet=8;
type
Tmassive=array[1..Nmonet] of integer;
const
monet:Tmassive = (50, 20, 15, 10, 5, 3, 2, 1);

var
price: integer;
count, total: integer;
i: integer;
begin
writeln('Vvedite LLEHY TOBAPA');
readln (price);

i := 1;
while price > 0 do begin
count := 0;
while price >= count * monet[i] do inc(count);
dec(count);
if count > 0 then begin
writeln(count, ' coins of ', monet[i]);
dec(price, count * monet[i]);
inc(total, count);
end;
inc(i);
end;
writeln('total coins: ', total);
readln;
end.
 К началу страницы 
+ Ответить 
amega
сообщение 29.01.2009 20:10
Сообщение #7


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


Цитата
Стоп... Это - олимпиадная задача: Здесь - условия

а как ты узнал что эта олимпиадная задача, если ты по таким сайтам сидиш то не мог бы дать ссылки на такие олимпиады rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 29.04.2024 20:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"