Advertisement
kirya522

Untitled

Oct 4th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. //Грищук Кирилл
  2. //Тестов Илья
  3. uses crt;
  4. const kol=100;//kolichestvo productov
  5. type zap=record
  6. naz:string[20];
  7. datizg:integer;
  8. srokgod:integer;
  9. godno:boolean;
  10. end;
  11. var k,i,dat,n,j:integer;
  12. a,b:array[1..100] of zap;
  13. tmp:zap;
  14. begin
  15. textcolor(white);
  16. writeln('vved tek daty');
  17. readln(n);
  18. for i:=1 to kol do
  19. begin
  20. writeln('Vvdeite nazvanie');
  21. readln(a[i].naz);
  22. writeln('Vvdeite daty bez tochek izg format xxyyzzzz');
  23. readln(a[i].datizg);
  24. writeln('Vvdeite srok godnosti');
  25. readln(a[i].srokgod);
  26. a[i].godno:=true;
  27. end;
  28. //НЕ ПЕРЕСЧИТЫВАЕТ ГОД и не учитывает високосность
  29. //Пересчет даты для февраля
  30. for i:=1 to kol do
  31. begin
  32. if((a[i].datizg div 1000000 +a[i].srokgod)>28)and(((a[i].datizg div 10000)mod 100)=2)
  33. then
  34. begin
  35. a[i].datizg:=(a[i].datizg div 1000000 +a[i].srokgod-28);
  36. a[i].datizg:=(a[i].datizg mod 100)+(((a[i].datizg div 10000) +1)*100);
  37. end;
  38. //Пересчет даты для месяцев где 30 дней
  39. if((a[i].datizg div 1000000 +a[i].srokgod)>30)and((((a[i].datizg div 10000)mod 100)=4)or(((a[i].datizg div 10000)mod 100)=6) or (((a[i].datizg div 10000)mod 100)=9) or (((a[i].datizg div 10000)mod 100)=11))
  40. then
  41. begin
  42. a[i].datizg:=(a[i].datizg div 1000000 +a[i].srokgod-30);
  43. a[i].datizg:=(a[i].datizg mod 100)+(((a[i].datizg div 10000) +1)*100);
  44. end;
  45. //пересчет где 31 день
  46. if((a[i].datizg div 1000000 +a[i].srokgod)>31)and((((a[i].datizg div 10000)mod 100)=1)or(((a[i].datizg div 10000)mod 100)=3) or (((a[i].datizg div 10000)mod 100)=5) or (((a[i].datizg div 10000)mod 100)=11))
  47. then
  48. begin
  49. a[i].datizg:=(a[i].datizg div 1000000 +a[i].srokgod-31);
  50. a[i].datizg:=(a[i].datizg mod 100)+(((a[i].datizg div 10000) +1)*100);
  51. end;
  52. end;
  53. //OTDELNIISPISOK
  54. j:=1;
  55. for i:=1 to kol do
  56. if(a[i].datizg)>n then
  57. begin
  58. a[i].godno:=false;
  59. b[j]:=a[i];
  60. b[j].naz:=a[i].naz;
  61. inc(j);
  62. end;
  63. //SORTIROVKA PO PRODAZE
  64. for i:=1 to kol-1 do
  65. for j := 1 to kol-i do
  66. if a[j].datizg > a[j+1].datizg then begin
  67. tmp := a[j];
  68. a[j].datizg := a[j+1].datizg;
  69. a[j+1] := tmp
  70. end;
  71. //вывод осортированного
  72.  
  73. for i:=1 to kol do
  74. writeln(a[i]);
  75. writeln();
  76. //ГНИЛь
  77. for i:=1 to kol do
  78. textcolor(red);//KRASNIY CVET
  79. writeln(b[i]);
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement