Advertisement
Infiniti_Inter

IV/18

May 22nd, 2021
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1.  
  2. var
  3. s, t, d, m, y, res: string;
  4. i, a, code, cnt, tmp, dd, mm, yy: integer;
  5.  
  6. begin
  7. ReadLN(s);
  8. s:= s + ' ';
  9. writeln();
  10. res:= '';
  11. while Pos(' ', s) > 0 do//делим строку по пробелам
  12. begin
  13. t:=Copy(s, 1, Pos(' ', S) - 1); {Выделяем слово из строки}
  14. Delete(s, 1, Length(t) + 1); {Удаляем слово из основной строки}
  15.  
  16. if (length(t) = 10) AND (t[3] = '.' ) AND (t[6] = '.') then// если текущее слово - это что то похожее на дату
  17. begin
  18. { выделяем день, месяц, год }
  19. d:= copy(t, 1, 2);
  20. m:= copy(t, 4, 2);
  21. y:= copy(t, 7, 4);
  22. { переводим их в числа }
  23. val(d, dd, tmp);
  24. val(m, mm, tmp);
  25. val(y, yy, tmp);
  26. { проверяем, а дата ли это }
  27. if (dd > 0) AND (dd < 32) AND (mm > 0) AND (mm < 13) AND (yy < 2021) then
  28. begin
  29. { добавляем единицу к дате}
  30. dd:= dd + 1;
  31. if (dd = 32)then
  32. begin
  33. dd:= 1;
  34. mm:= mm + 1;
  35. end;
  36. if (mm = 13) then
  37. begin
  38. mm:= 1;
  39. yy:= yy + 1;
  40. end;
  41. { переводим обратно в строки }
  42. Str(dd, d);
  43. if (length(d) = 1) then
  44. d:= '0' + d;
  45. Str(mm, m);
  46. if (length(m) = 1) then
  47. m:= '0' + m;
  48. Str(yy, y);
  49. t:= d + '.' + m + '.' + y;
  50. end;
  51.  
  52. end;
  53. res:= res + t + ' ';//добавляем текущую строку в ответ.
  54. end;
  55. writeln(res);//если после даты стоит какой то знак, например точка или запятая,
  56. // то програма отработает не корректно, тут нужно утрочнаять содержание текста
  57. end.
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement