На сайте в режиме реального времени публикуются решения контестных задач сервиса Codeforces.
Загружайте свои решения( здесь ) прямо на сайте. Подробнее. Жду ваших решений
 

По разделам

 

Задача 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 Просмотров: 22
File 2 Просмотров: 17
File 3 Просмотров: 21
File 4 Просмотров: 18
File 5 Просмотров: 22
File 6 Просмотров: 13
File 7 Просмотров: 28
File 8 Просмотров: 11
File 9 Просмотров: 21
File 10 Просмотров: 18
File 11 Просмотров: 20
File 12 Просмотров: 25
File 13 Просмотров: 21
File 14 Просмотров: 14
File 15 Просмотров: 13
File 16 Просмотров: 21
File 17 Просмотров: 12
File 18 Просмотров: 17
File 19 Просмотров: 12
File 20 Просмотров: 16
File 21 Просмотров: 13
File 22 Просмотров: 12
File 23 Просмотров: 12
File 24 Просмотров: 13
File 25 Просмотров: 20
File 26 Просмотров: 14
File 27 Просмотров: 20
File 28 Просмотров: 20
File 29 Просмотров: 15
File 30 Просмотров: 16
File 31 Просмотров: 13
File 32 Просмотров: 14
File 33 Просмотров: 27
File 34 Просмотров: 21
File 35 Просмотров: 15
File 36 Просмотров: 13
File 37 Просмотров: 16
File 38 Просмотров: 22
File 39 Просмотров: 14
File 40 Просмотров: 14
File 41 Просмотров: 27
File 42 Просмотров: 19
File 43 Просмотров: 11
File 44 Просмотров: 21
File 45 Просмотров: 14
File 46 Просмотров: 12
File 47 Просмотров: 16
File 48 Просмотров: 15
File 49 Просмотров: 16
File 50 Просмотров: 16
File 51 Просмотров: 21
File 52 Просмотров: 13
File 53 Просмотров: 11
File 54 Просмотров: 12
File 55 Просмотров: 20
File 56 Просмотров: 14
File 57 Просмотров: 13
File 58 Просмотров: 19
File 59 Просмотров: 11
File 60 Просмотров: 15

Комментарии

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