moshkit

Products_solved_fully

Feb 9th, 2019
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.04 KB | None | 0 0
  1. (*
  2.  * Project: Pascal
  3.  * User: akelix
  4.  * Date: 20.12.18
  5.  *)
  6. program products;
  7. Var
  8.   inputFile : text;
  9. Var
  10.   productsNeedCount, productsHasCount: integer;
  11. Var
  12.   productsNeedList, productsHasList: array of integer;
  13. Var
  14.   productsWeDoNotHaveList: array of integer;
  15.  
  16. procedure ReadArray(inputFile: text; products: array of integer; count: integer);
  17. begin
  18.   for var i := 0 to count - 1 do
  19.     Read(inputFile, products[i]);
  20. end;  
  21.  
  22. function DoNotHaveThisItem(items: array of integer; itemWeSeek: integer): boolean;
  23. begin
  24.   Result:=true;
  25.   for var i:= 0 to items.Length - 1 do
  26.     if items[i] = itemWeSeek then
  27.     begin
  28.       items[i] := -1;
  29.       Result:=false;
  30.     end;
  31. end;
  32.  
  33. function FindMissedProducts(productsNeed: array of integer; productsHas: array of integer; weDoNotHaveThisProducts: array of integer): integer;
  34. begin
  35.   Result:=0;
  36.  
  37.   for var i:=0 to productsNeed.Length -1 do
  38.     if DoNotHaveThisItem(productsHas, productsNeed[i]) then
  39.       begin
  40.         weDoNotHaveThisProducts[Result] := productsNeed[i];
  41.         inc(Result);
  42.       end;
  43. end;
  44.  
  45.      
  46. begin
  47.  
  48.   Assign(inputFile, 'input_products.txt');
  49.   Reset(inputFile);
  50.   Read(inputFile, productsNeedCount, productsHasCount);
  51.  
  52.   SetLength(productsNeedList, productsNeedCount);
  53.   SetLength(productsHasList, productsHasCount);
  54.   SetLength(productsWeDoNotHaveList, productsNeedCount);
  55.  
  56.   ReadArray(inputFile, productsNeedList, productsNeedCount);
  57.   ReadArray(inputFile, productsHasList, productsHasCount);
  58.  
  59.   close(inputFile);
  60.  
  61.   Println('Данные прочитаны:');
  62.   Println(productsNeedList);
  63.   Println(productsHasList);
  64.  
  65.   var missedItemsCount: integer = FindMissedProducts(productsNeedList, productsHasList, productsWeDoNotHaveList);
  66.   SetLength(productsWeDoNotHaveList, missedItemsCount);
  67.  
  68.   Println('Результат:');
  69.   if missedItemsCount > 0 then
  70.     begin
  71.       Print('нет, этого не хватает:');
  72.       Println(productsWeDoNotHaveList);
  73.     end
  74.   else
  75.     Println('да, все есть.');
  76.  
  77. end.
Advertisement