По разделам

 

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


Дан файл целых чисел. Создать новый файл целых чисел, содержащий длины всех серий исходного файла (серией называется набор последовательно расположенных одинаковых элементов, а длиной серии — количество этих элементов). Например, для исходного файла с элементами 1, 5, 5,5,4,4,5содержимоерезультирующегофайладолжнобытьследующим: 1, 3, 2, 1.

Код (Python)

import random
import numpy

def GenerateLine(fname):
    N = random.randrange(1,20)
    line = ""
    L = []
    for i in range(N):
        x = str(random.randint(1,3))
        L.append(x)
        line = ", ".join(L)
    try:
        f = open(fname, "w")
        try:
            f.write(line)
        finally:
            f.close()
    except IOError:
        print('Write error: ',fname)
    print(line)

f_source = "file17_source.txt"
GenerateLine(f_source)

try:
    with open(f_source,'r') as f:
        lines = f.readlines()
        lst = []
        lst_result = []
        print(lines)
        for line in reversed(lines):
            for i in line.split(", "):
                lst.append(int(i))
        print(lst)
        k = 1
        ser_num = 1
        i_prev = lst[0]
        for  i in lst[1::]:
            if i == i_prev:
                k += 1
            else:
                lst_result.append(i)
                k = 1
                ser_num += 1
            i_prev = i
        print("Number of series:",ser_num)
        print("Length of series:",lst_result)

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

Код (Pascal)

program File17;
var
 S:String;
 F_in,F_out: File of Integer;
 El,i,temp: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,temp);
  El:=temp;
  i:=1;
  while (not eof(F_in)) do
   begin
    Read(F_in,temp);
    if El=temp then inc(i)
    else
     begin
      i:=1;
      El:=temp;
      Write(F_out,temp);
     end;
   end;
  Close(F_in);
end.
									




File. Абрамян
File 1 Просмотров: 4645
File 2 Просмотров: 3924
File 3 Просмотров: 1869
File 4 Просмотров: 2381
File 5 Просмотров: 1792
File 6 Просмотров: 1599
File 7 Просмотров: 1407
File 8 Просмотров: 1865
File 9 Просмотров: 1117
File 10 Просмотров: 1636
File 11 Просмотров: 1146
File 12 Просмотров: 1294
File 13 Просмотров: 1124
File 14 Просмотров: 1010
File 15 Просмотров: 916
File 16 Просмотров: 1158
File 17 Просмотров: 1342
File 18 Просмотров: 939
File 19 Просмотров: 812
File 20 Просмотров: 992
File 21 Просмотров: 846
File 22 Просмотров: 1014
File 23 Просмотров: 874
File 24 Просмотров: 870
File 25 Просмотров: 926
File 26 Просмотров: 900
File 27 Просмотров: 766
File 28 Просмотров: 1021
File 29 Просмотров: 789
File 30 Просмотров: 868
File 31 Просмотров: 772
File 32 Просмотров: 807
File 33 Просмотров: 875
File 34 Просмотров: 883
File 35 Просмотров: 676
File 36 Просмотров: 772
File 37 Просмотров: 654
File 38 Просмотров: 735
File 39 Просмотров: 749
File 40 Просмотров: 657
File 41 Просмотров: 708
File 42 Просмотров: 871
File 43 Просмотров: 652
File 44 Просмотров: 661
File 45 Просмотров: 721
File 46 Просмотров: 630
File 47 Просмотров: 762
File 48 Просмотров: 880
File 49 Просмотров: 773
File 50 Просмотров: 802
File 51 Просмотров: 784
File 52 Просмотров: 809
File 53 Просмотров: 640
File 54 Просмотров: 618
File 55 Просмотров: 691
File 56 Просмотров: 758
File 57 Просмотров: 594
File 58 Просмотров: 737
File 59 Просмотров: 691
File 60 Просмотров: 1196

Комментарии

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



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