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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 17:33   #1
uppu.are
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 25
По умолчанию Паскаль. Записи - подобрать игрушки на данную сумму денег. (Оплачивается!)

задание звучит так:
Смормировать файл, имеющий следующую структуру type игрушка =record название: string
Цена: integer;
Возраст 1:l..16;
Возраст 2:l..16;
End;
И определить:
-название самой дорогой игрушки
-список игрушек, которые подходят детям данного возраста.
-подобрать игрушки на данную сумму денег (все варианты)
В программе описано все кроме "-подобрать игрушки на данную сумму денег (все варианты)" помогите описать
Код:
program lab10;
const n=10;
type    
Toy=record
  nazva: string[40];
  age: integer;
  kol: integer;
  vozrast1: integer;
  vozrast2: integer;
  end;
var
 f : file of Toy;
 aToy : Toy;
 Toys : array[1..N] of Toy;
 i,d,A,B,x,max:integer;
 maxNazva : String[40];
 Count : Integer;
 
Begin
 
assign(f,'lab10.txt');
rewrite(f);
writeln ('Введите количество записей: ');
readln(Count);
for i:=1 to Count do
  begin
  write('type nazvanie ');
  readln(aToy.nazva);
  write('type cena ');
  readln(aToy.age);
  write('type kol-vo ');
  readln(aToy.kol);
  write('type vozrast ot ');
  readln(aToy.vozrast1);
  write('type vozrast do ');
  readln(aToy.vozrast2);
  write ( f, aToy );
  end;
Close(f);
 
writeln('vvedite summy kotoryu planirovali potratit');
readln(x);
 
writeln('vvedite diapazon vozrasta rebenka, nachinaya ot menshego k bolshemy, cherez probel ili enter');
readln(A,B);
 
assign(f,'lab10.txt');
reset(f);
Count := 0;
max:=0;
while not eof(f) do
 begin
 Count := Count + 1;
 read ( f, aToy );
 if aToy.age > max then
  begin
  max := aToy.age;
  maxNazva := aToy.nazva;
  end;
 if ( aToy.age<=x ) and ( aToy.vozrast1<=A) and ( aToy.vozrast2>=B) then
  begin
  write('nazva: ',aToy.nazva:15);
  write(' age: ',aToy.age:5);
  write(' kol: ',aToy.kol:5);
  write(' vozrast1: ',aToy.vozrast1:5);
  writeln(' vozrast2: ',aToy.vozrast2:5);
  end;
 end;
writeln;
writeln ('Самая дорогая игрушка : ');
writeln('nazva: ',maxNazva); writeln('max=',max);
close(f);
readln;
end.
о цене договоримся
uppu.are вне форума Ответить с цитированием
Старый 31.05.2011, 20:17   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
-подобрать игрушки на данную сумму денег (все варианты)
это само по себе весьма навороченное задание.
И использование записей на комбинаторику особо уже не влияет.

собственно у меня к Вам несколько вопросов:
1) Вам нужен код, который работает, или который Вы собираетесь понять?
смотрите, например, готовое решение тут:
подбор группы файлов до заданого размера
(я, например, не понимаю, как оно работает )

2) Вы понимаете, что при 10 игрушках вариантов может быть десятки/сотни/тысячи?!

3) если, например, сумма 10 рублей.
а у Вас 4 игрушки 3 рубля, 3 рубля, 2 рубля, 9 рублей.
какие варианты должны быть выданы?

4) любопытно, какие сроки и какой бюджет (сколько Вы готовы заплатить) ?


В любом случае - желаю успехов.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразовать цифровую запись количества денег в буквенное, в диапазоне от 999,01 до 1200,99 (Паскаль) Babenkko Помощь студентам 12 15.06.2011 14:46
Задача на паскале (набрать заданную сумму денег) Старый Gilbert Помощь студентам 4 21.03.2011 15:12
Нужно подкорректировать прошивку на системе Линукс. Оплачивается. Schtierlitz Фриланс 0 09.12.2010 21:38
Пожалуйста, требуется подсказка!!! Как изменить сумму денег в копейках на рубли во всем столбце???? yur4eG Microsoft Office Excel 2 05.05.2008 18:52