По разделам

 

Решение задачи File 18


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

Код (Python)

import random

def GenerateLine(fname):
    N = random.randrange(1,10)
    print("N = ",N)
    #N = 2
    #line = "1, 5, 5, 5, 4, 4, 5"
    try:
        f = open(fname, "w")
        try:
            for i in range(N):
                line = str(random.randint(1,4))+"\n"
                f.write(line)
        finally:
            f.close()
    except IOError:
        print('Write error: ',fname)

f_input = "file18_input.txt"
#GenerateLine(f_input)

i = 0
flag = False
try:
    with open(f_input,'r') as f_in:
        for line in f_in:
            i += 1
            x = int(line.strip())
            print(x)    
            if i == 1:
                x1 = x
            elif i == 2:
                x2 = x
                if x1 < x2:
                    l_min = x1
                    flag = True
                    break
            elif i == 3:
                x3 = x
                if x1 >= x2 and x2 < x3:
                    l_min = x2
                    flag = True
                    break
            else:
                x1 = x2
                x2 = x3
                x3 = x
                if x1 >= x2 and x2 < x3:
                    l_min = x2
                    flag = True
                    break

except IOError:
    print('Open error: ',f_source)
        
if not flag:
    if i == 1:
        l_min = x1
    else:
        l_min = x        
            
print("First local minimum:",l_min)
									

Код (Pascal)

program File18;
var
 S:String;
 F_in,F_out: File of Real;
 El2,El1,El:Real;
begin
  Write('File: ');
  Readln(S);
  Assign(F_in,S);
  Reset(F_in);
  Read(F_in,El1);
  Read(F_in,El);
  El2:=El1;
  if (El1<El) then Writeln(El1)
  else
   begin
    while (not eof(F_in)) and not((El>El1) and (El1<El2)) do
     begin
      El2:=El1;
      El1:=El;
      Read(F_in,El);
     end;
    if (not eof(F_in)) then Writeln(El1)
    else if eof(F_in) and (El1>El) then  Writeln(El);
   end;
  Close(F_in);
end.
									




File. Абрамян
File 1 Просмотров: 4640
File 2 Просмотров: 3921
File 3 Просмотров: 1866
File 4 Просмотров: 2378
File 5 Просмотров: 1791
File 6 Просмотров: 1595
File 7 Просмотров: 1404
File 8 Просмотров: 1861
File 9 Просмотров: 1112
File 10 Просмотров: 1631
File 11 Просмотров: 1143
File 12 Просмотров: 1290
File 13 Просмотров: 1119
File 14 Просмотров: 1007
File 15 Просмотров: 911
File 16 Просмотров: 1153
File 17 Просмотров: 1337
File 18 Просмотров: 935
File 19 Просмотров: 810
File 20 Просмотров: 989
File 21 Просмотров: 840
File 22 Просмотров: 1011
File 23 Просмотров: 869
File 24 Просмотров: 867
File 25 Просмотров: 921
File 26 Просмотров: 899
File 27 Просмотров: 762
File 28 Просмотров: 1016
File 29 Просмотров: 785
File 30 Просмотров: 863
File 31 Просмотров: 767
File 32 Просмотров: 804
File 33 Просмотров: 872
File 34 Просмотров: 878
File 35 Просмотров: 672
File 36 Просмотров: 767
File 37 Просмотров: 649
File 38 Просмотров: 730
File 39 Просмотров: 745
File 40 Просмотров: 653
File 41 Просмотров: 704
File 42 Просмотров: 869
File 43 Просмотров: 648
File 44 Просмотров: 659
File 45 Просмотров: 716
File 46 Просмотров: 627
File 47 Просмотров: 757
File 48 Просмотров: 876
File 49 Просмотров: 768
File 50 Просмотров: 798
File 51 Просмотров: 781
File 52 Просмотров: 804
File 53 Просмотров: 635
File 54 Просмотров: 615
File 55 Просмотров: 689
File 56 Просмотров: 754
File 57 Просмотров: 587
File 58 Просмотров: 736
File 59 Просмотров: 688
File 60 Просмотров: 1190

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет