Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.54 KB | None | 0 0
  1. program p1;
  2. type
  3.   data = array[1..100] of integer;
  4. var
  5.   i, n, s, l, min, imin: integer;
  6.   f: text;
  7.   a: data;
  8.   flag: boolean;
  9. begin
  10.   repeat
  11.     repeat
  12.       write('Введите количество элементов от 1 до 100: ');
  13.       readln(n);
  14.     until((n >= 1) and (n <=100));
  15.    
  16.     assign(f, 'D:\Public\PABCWork.NET\Output\input.txt');
  17.     reset(f);
  18.     for i := 1 to n do
  19.     begin
  20.       readln(f, a[i]);
  21.     end;
  22.     close(f);
  23.    
  24.     l := 1;
  25.     flag := true;
  26.     while ((l <= n) and flag) do
  27.       if(a[l] <> 0) then
  28.         inc(l)
  29.       else
  30.         flag := false;
  31.        
  32.     if flag then
  33.       l := 0;
  34.      
  35.     flag := true;
  36.     i := l + 1;
  37.     while ((i <= n) and flag) do
  38.       if(a[i] <= 0) then
  39.         inc(i)
  40.       else
  41.       begin
  42.         flag := false;
  43.         imin:= i;
  44.       end;
  45.  
  46.     for i := n downto l + 2 do
  47.       if((a[i] <= a[imin]) and (a[i] > 0)) then
  48.         imin := i;
  49.    
  50.     assign(f, 'D:\Public\PABCWork.NET\Output\output.txt');
  51.     rewrite(f);
  52.    
  53.     if flag then
  54.       writeln(f, 'Нет элементов, удовлетворяющие условию!')
  55.     else
  56.       writeln(f, 'Индекс элемента равен: ', imin, ', значение элемента равно: ', a[imin]);
  57.      
  58.     writeln(f, 'Исходный массив: ');
  59.     for i := 1 to n do
  60.       writeln(f, a[i]);
  61.     close(f);
  62.    
  63.     write('Повторить выполнение программы? 1 - Да, 0 - Нет: ');
  64.     readln(s);
  65.   until(s = 0);
  66. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement