Fenrir112

%u041F%u043E%u0441%u043B%u0435%u0434%u043E%u0432%u0430%u0442%u0435%u043B%u044C%u043D%u043E%u0441%u0442%u0438 01

Dec 15th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.86 KB | None | 0 0
  1. program Tufta1bVer01;
  2.  
  3. const
  4.   N = 50;
  5.  
  6. type
  7.   Tmas = array [1..N] of integer;
  8.  
  9. var
  10.   A, Atest, B : Tmas; // массив с последовательностью и второй массив с результатом
  11.   count, index1 : integer;
  12.  
  13. {процедура ввода}  
  14. procedure Input (var Ai : Tmas ; c : integer);
  15. var
  16.   j : integer;
  17. begin
  18.   for j := 1 to c do
  19.   begin
  20.     write ('Введите ',j,' число: ');
  21.     readln (Ai[j]);
  22.   end;
  23.   Ai[c+1] := -32768;
  24. end;
  25.  
  26. {процедура вывода}
  27. procedure Output (Ai : Tmas; c : integer);
  28. var
  29.   j : integer;
  30. begin
  31.   writeln('последовательность:');
  32.   for j := 1 to c do
  33.   begin
  34.     write (Ai[j],' ');
  35.   end;
  36.   writeln;
  37.   writeln;
  38. end;
  39.  
  40. {функция проверки условия}
  41. function f(elem1, elem2 : integer; var index : integer) : integer;
  42. var
  43.   return : integer;
  44. begin
  45.   if (index = 1) and (elem1 < elem2) then
  46.   begin
  47.     Inc (index);
  48.     return := elem1;
  49.   end else
  50.   begin
  51.     index := 1;
  52.     return := 0;
  53.   end;
  54.   f := return;
  55. end;
  56.  
  57. {процедура создания нового массива}
  58. function newMas (oldMas : Tmas; c : integer; var index : integer) : Tmas;
  59. var
  60.   j : integer;
  61.   nMas : Tmas;
  62. begin
  63.   for j := 1 to c do
  64.   begin
  65.     nMas[j] := f(oldMas[j], oldMas[j+1], index);
  66.   end;
  67.   newMas := nMas;
  68. end;
  69.  
  70. begin
  71.   // пример для теста для этого заменить A на Atest и закомментировать Input
  72.   Atest[1] := 3; Atest[2] := 4; Atest[3] := 5; Atest[4] := 2; Atest[5] := 2; Atest[6] := 3; Atest[7] := 1; Atest[8] := 5; Atest[9] := 7; Atest[10] := 3;
  73.   write('Введите число членов последовательности: ');
  74.   readln (count);
  75.   Input (A, count);
  76.   write('Исходная ');
  77.   Output (A, count);
  78.   index1 := 1;
  79.   B := newMas(A, count, index1);
  80.   write ('Итоговая ');
  81.   Output (B, count);
  82. end.
Advertisement
Add Comment
Please, Sign In to add comment