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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2016, 16:28   #1
Яна23
Новичок
Джуниор
 
Регистрация: 17.05.2016
Сообщений: 2
По умолчанию Сведения об игрушках,хранящиеся на складе детского магазина,следующие: название игрушки, стоимость в рублях и возрастные границы

Сведения об игрушках,хранящиеся на складе детского магазина,следующие: название игрушки, ее стоимость в рублях и возрастные границы. Получить название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет. Определите стоимость самого дорогого конструктора.

Последний раз редактировалось Вадим Мошев; 20.05.2016 в 21:19.
Яна23 вне форума Ответить с цитированием
Старый 17.05.2016, 16:48   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Яна, посмотрите тему - http://programmersforum.ru/showthrea...51#post1606051

там предложено решение аналогичной (хотя и немного другой задачи).
Попробуйте разобраться в этом коде и доделать под своё задание.

Если, вдруг, это несложное задание не будет получаться - выкладывайте свои попытки и рассказывайте, что конкретно не получилось.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.05.2016, 17:46   #3
Яна23
Новичок
Джуниор
 
Регистрация: 17.05.2016
Сообщений: 2
По умолчанию

я вообще не понимаю как ее даже исправить
решите мою пожалуйста
Яна23 вне форума Ответить с цитированием
Старый 18.05.2016, 06:01   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Сообщение от Яна23 Посмотреть сообщение
я вообще не понимаю как ее даже исправить
решите мою пожалуйста
http://programmersforum.ru/showpost....6&postcount=12
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 18.05.2016, 17:00   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ладно. Парад невиданной щедрости!

Код:
(*
Получить название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет. 
Определите стоимость самого дорогого конструктора.
*)

uses crt;

const MaxcountToys=100;

type Ttoy = record
       name:string;
       price:real;
       ageFrom,ageTo:byte;
     end;
     tArr = array [1..MaxcountToys] of Ttoy;


procedure readdata(fileInp : string; var ar:tArr;var nOut:integer);
var f:text;
  tmp:byte;
  sname:string;
begin
    assign(f,fileInp);
    reset(f);
    while not (eof(f)) do
     begin
        ReadLn(f, sname);
        if sname<>'' then begin
          inc(nOut);
          with ar[nOut] do
           begin
              name:=sname;
              readln(f,price,ageFrom,ageTo);
              if(ageFrom>ageTo) then
              begin
                tmp:=ageTo;ageTo:=ageFrom;ageFrom:=tmp;
              end;
           end;
         end;
     end;
    close(f);
end;

procedure outdata(ar:tArr; size:integer);
var i:integer;
begin
  clrscr;
  for i:=1 to size do
   with ar[i] do
   begin
        writeln('Toy #',i,': "',name,'" RUB:',price:2:2,'. Years:',ageFrom,' to ',ageTo);
   end;
end;

{ Определите стоимость самого дорогого конструктора.  }
function getIndexMostExpKonstruct(ar:tArr; size:integer):integer;
var i, Index :integer;
begin
  Index:=-1;
  for i:=1 to size do
   if (ar[i].name='конструктор') then begin
      if Index<0 then 
         Index := i
      else 
         if ar[i].price>ar[Index].price then Index := i;
    end;
  getIndexMostExpKonstruct := Index
end;

{Получить название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет. }
procedure task1(ar:tArr;size:integer);
var i:integer;
  f:text;
  tmp:real;
begin
    assign(f,'result.txt');
    rewrite(f);
    WriteLn(f,'------------------------');
    WriteLn(f,' название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет. ');
    WriteLn(f,'------------------------');
    WriteLn(' название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет. ');
    WriteLn('------------------------');
    for i:=1 to size do
     with ar[i] do
      begin
         if (price<=500) and (ageFrom<=5) and (ageTo>=5) 
           then begin
             writeln('Toy #',i,': "',name,'" RUB:',price:2:2,'. Years:',ageFrom,' to ',ageTo);
             writeln(f, 'Toy #',i,': "',name,'" RUB:',price:2:2,'. Years:',ageFrom,' to ',ageTo);
           end;
      end;
    close(f);
end;


var 
  N, idx: integer;
  a: tArr;

begin
  readdata('toys.txt',a,n);
  writeln(n);
  outdata(a,n);

  { Получить название игрушек,цена которых не превышает 500 руб. и которые подходят детям 5 лет.  }
  task1(a,n);

  { Определите стоимость самого дорогого конструктора. }
  idx := getIndexMostExpKonstruct(a, n);
  if idx<0 then WriteLn('Конструктора в списке игрушек нет')
  else WriteLn('самый дорогой конструктор имеет цену ', a[idx].price:2:2 );


  readln;
end.
файл toys.txt
Цитата:
Код:
конструктор
37.20 7 14 
кукла
12.20 3 7
машинка
22.00 6 8
танк
45.00 7 12
кукла
38.50 7 9
мяч
9.00 3 10
кукла
100.00 4 8
конструктор
77.57 9 14 
конструктор
37.20 5 9
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста с программой в Паскаль: хранить сведения об игрушках (название игрушки, стоимость, возрастные границы) Агнесска Паскаль, Turbo Pascal, PascalABC.NET 3 06.05.2016 14:06
Дан файл Assort, содержащий сведения об игрушках Татьянааааак Паскаль, Turbo Pascal, PascalABC.NET 8 04.07.2013 23:57
Даны сведения о книгах в библиотеке: фамилия автора, название книги и год издания. Напечатать автора и название книг, го greshnik92 Общие вопросы C/C++ 3 21.06.2011 10:45
Название помьютерного магазина. Altera Свободное общение 29 17.11.2009 09:43
Даны сведения о товарах на складе: наименование, цена, количество единиц товара. Найти товар, стоимость н Evidence Паскаль, Turbo Pascal, PascalABC.NET 1 03.06.2009 00:09