По разделам

 

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


Дан файл вещественных чисел. Создать файл целых чисел, содержащий длины всех монотонных последовательностей элементов исходного файла. Например, для исходного файла с элементами 1.7, 4.5, 3.4, 2.2, 8.5, 1.2 содержимое результирующего файла должно быть следующим: 2, 3, 2, 2.

Код (Python)

import random

def GenerateNumbers(fname):
    N = random.randint(2,15)
    print("N = ",N)
    L = []
    x = random.randrange(1,10)
    L.append(x)
    for i in range(1,N):
        lst_rnd = list(range(1,10))
        lst_rnd.remove(x)
        x = random.choice(lst_rnd)
        L.append(x)
    print(L)
    try:
        f = open(fname, "w")
        try:
            for x in L:
                line = str(x)+"\n"
                f.write(line)
        finally:
            f.close()
    except IOError:
        print('Write error: ',fname)

def EmptyFile(fname):
    open(fname, 'w').close()
    
def Write2File(fname,value):
    try:
        f = open(fname, "a")
        try:
            s = str(value)+'\n'
            f.write(s)
        finally:
            f.close()
    except IOError:
        print('Write error: ',fname)

f_input = "file24_input.txt"
GenerateNumbers(f_input)

f_output = "file24_output.txt"
EmptyFile(f_output)

i = 0
decrease = 0
increase = 0
try:
    with open(f_input,'r') as f_in:
        line = f_in.readline()
        x = int(line.strip())
        i = 1
        x1 = x
        x2 = x
        print(x)
        for line in f_in:
            i += 1
            x = int(line.strip())
            print(x)
            x1 = x2
            x2 = x
            if x1 > x2:
                decrease += 1
                if increase > 0:
                    print("Increase Length:",increase+1)
                    Write2File(f_output,increase+1)
                    increase = 0
            else:
                increase += 1
                if decrease > 0:
                    print("Decrease Length:",decrease+1)
                    Write2File(f_output,decrease+1)
                    decrease = 0

except IOError:
    print('Open error: ',f_source)

if decrease > 0:
    print("Decrease Length:",decrease+1)
    Write2File(f_output,decrease+1)
if increase > 0:
    print("Increase Length:",increase+1)
    Write2File(f_output,increase+1)
									

Код (Pascal)

program File24;
var
 S:String;
 F_in: File of Real;
 F_out: File of Integer;
 El1,El:Real;
 len,check:integer;
begin
  Write('File: ');
  Readln(S);
  Assign(F_in,S);
  Reset(F_in);
  Write('File_out: ');
  Readln(S);
  Assign(F_out,S);
  ReWrite(F_out);
  Read(F_in,El1);
  Read(F_in,El);
  if El1>El then check:=1;
  if El1<El then check:=-1;
  if El1=El then check:=0;
  len:=2;
  while (not eof(F_in)) do
   begin
    El1:=El;
    Read(F_in,El);
    if (El1>El) and (check=-1) then inc(len)
    else if (El1<El) and (check=1) then inc(len)
         else if (El1>El) and (check=1) then
               begin
                Write(F_out,len);
                check:=-1;
                len:=2;
               end
              else if (El1<El) and (check=-1) then
                    begin
                     Write(F_out,len);
                     check:=1;
                     len:=2;
                    end
                   else if (El1=El) then
                         begin
                          Write(F_out,len);
                          check:=0;
                          len:=2;
                         end;
   end;
  Close(F_in);
  Close(F_out);
end.
									




File. Абрамян
File 1 Просмотров: 4599
File 2 Просмотров: 3881
File 3 Просмотров: 1822
File 4 Просмотров: 2277
File 5 Просмотров: 1763
File 6 Просмотров: 1568
File 7 Просмотров: 1373
File 8 Просмотров: 1833
File 9 Просмотров: 1087
File 10 Просмотров: 1602
File 11 Просмотров: 1112
File 12 Просмотров: 1255
File 13 Просмотров: 1097
File 14 Просмотров: 976
File 15 Просмотров: 883
File 16 Просмотров: 1130
File 17 Просмотров: 1312
File 18 Просмотров: 906
File 19 Просмотров: 776
File 20 Просмотров: 958
File 21 Просмотров: 815
File 22 Просмотров: 978
File 23 Просмотров: 839
File 24 Просмотров: 835
File 25 Просмотров: 894
File 26 Просмотров: 871
File 27 Просмотров: 739
File 28 Просмотров: 992
File 29 Просмотров: 756
File 30 Просмотров: 838
File 31 Просмотров: 740
File 32 Просмотров: 778
File 33 Просмотров: 850
File 34 Просмотров: 857
File 35 Просмотров: 650
File 36 Просмотров: 745
File 37 Просмотров: 629
File 38 Просмотров: 700
File 39 Просмотров: 718
File 40 Просмотров: 630
File 41 Просмотров: 682
File 42 Просмотров: 842
File 43 Просмотров: 624
File 44 Просмотров: 630
File 45 Просмотров: 693
File 46 Просмотров: 604
File 47 Просмотров: 728
File 48 Просмотров: 851
File 49 Просмотров: 744
File 50 Просмотров: 778
File 51 Просмотров: 757
File 52 Просмотров: 772
File 53 Просмотров: 609
File 54 Просмотров: 587
File 55 Просмотров: 662
File 56 Просмотров: 727
File 57 Просмотров: 561
File 58 Просмотров: 708
File 59 Просмотров: 664
File 60 Просмотров: 1167

Комментарии

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



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