iİnformatikanın məktəbdə tədrisi

7-10r

Локальным минимумом (максимумом) называется элемент последовательности (кроме первого и последнего), который меньше (больше) двух своих соседей. Найти максимальный  локальный минимум элементов последовательности.


Пояснения будут вскоре.



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

Program A7_10;

Var

 f:text;

 a,b,c,maxl,p,r:integer;

 BEGIN

  assign(f,'in7_10.txt'); reset(f);

  if IoResult<>0 then

   begin writeln('Net faila');

  readln; exit; end;

   if (EOF(f)) then

   begin writeln('malo dannix');

  readln; exit; end;

   readln(f,a);

   if (EOF(f)) then

   begin writeln('malo dannix');

   readln; exit; end;

   readln(f,b);

   p:=0;

   while(not EOF(f)) do

     begin

       r:=1;

       readln(f,c);

       if (b<a) and (b<c) then

        begin

          if (p=0) then

             begin maxl:=b; p:=1; end

                   else

          if (b>maxl) then maxl:=b;

        end;

       a:=b; b:=c;

     end;

   close(f);

   if (r=0) then

   begin writeln('malo dannix');

   readln; exit; end;

   if (p<>0) then

     writeln('maxl=',maxl)

             else

     writeln('Net lokalnogo max.');

   readln;

 END.

// Program A7_10;

#include <iostream>

#include <fstream>

 

using namespace std;

 

int main()

{  ifstream f;

int a, b,c,maxl,p=0,r=0;

    f.open("in7_10.txt");

    if (!f) { cout<<"net faila\n";

return -1;}

 if((f>>a)==0){cout<<"malo dannix\n";

 return -1;};

 if((f>>b)==0){cout<<"malo dannix\n";

return -1;};

    while(f>>c)

    {   r=1;

        if(b<a  &&  b<c)

            {

                if(p==0){maxl=b; p=1;}

                else if(b>maxl)maxl=b;

            }

          a=b;  b=c;

     }

     f.close();

if(r==0){cout<<"malo dannix\n";

return -1;};

     if(p!=0)

 cout<<"maxl="   <<maxl<<endl;

  else cout<<"Net lokalnogo max\n";

    return 0;

}