По разделам

 

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


Дан файл вещественных чисел.Заменить в файле каждый элемент,кроме начального и конечного, на его среднее арифметическое с предыдущим и последующим элементом.

Код (Python)

# -*- coding: utf-8 -*-
import random

def GenerateReals(fname):
#generate random real numbers and save them to file
    N = random.randint(2,15)
    #N = 9
    print("N = ",N)
    L = []
    x = round(random.uniform(0, 10),1)
    L.append(x)
    for i in range(1,N):
        lst_rnd = [round(random.uniform(0, 10),1) for _ in range(0,10)]
        try:
            lst_rnd.remove(x)
        except:
            pass
        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)

f_input = "file28_in.txt"
f_output = "file28_out.txt"
GenerateReals(f_input)
print("Read from:",f_input)
print("Write to:",f_output)

try:
    with open(f_input, 'r') as f_in, open(f_output, 'w') as f_out:
        line = f_in.readline()
        x1 = float(line.strip())
        f_out.write(line)
        line = f_in.readline()
        x2 = float(line.strip())
        for line in f_in:
            x = float(line.strip())
            x_avg = (x1 + x2 + x) / 3
            s_avg = str(x_avg)+"\n"
            f_out.write(s_avg)
            x1 = x2
            x2 = x
        f_out.write(line)

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

Код (Pascal)

program File28;
var
 S:String;
 F_in,F_out: File of Real;
 i:integer;
 El2,El1,El,temp:Real;
begin
  Write('File1: ');
  Readln(S);
  Assign(F_in,S);
  Reset(F_in);
  Assign(F_out,'~'+S);
  ReWrite(F_out);
  Read(F_in,El1);
  Write(F_out,El1);
  Read(F_in,El);
  while (not eof(F_in)) do
   begin
    El2:=El1;
    El1:=El;
    Read(F_in,El);
    temp:=(El2+El1+El)/3;
    Write(F_out,temp);
   end;
  Write(F_out,El);
  Close(F_in);
  Close(F_out);
  Erase(F_in);
  Rename(F_out,S);
end.
									




File. Абрамян
File 1 Просмотров: 4645
File 2 Просмотров: 3924
File 3 Просмотров: 1869
File 4 Просмотров: 2381
File 5 Просмотров: 1792
File 6 Просмотров: 1598
File 7 Просмотров: 1407
File 8 Просмотров: 1865
File 9 Просмотров: 1117
File 10 Просмотров: 1635
File 11 Просмотров: 1146
File 12 Просмотров: 1293
File 13 Просмотров: 1123
File 14 Просмотров: 1010
File 15 Просмотров: 915
File 16 Просмотров: 1156
File 17 Просмотров: 1342
File 18 Просмотров: 939
File 19 Просмотров: 812
File 20 Просмотров: 992
File 21 Просмотров: 845
File 22 Просмотров: 1014
File 23 Просмотров: 873
File 24 Просмотров: 870
File 25 Просмотров: 925
File 26 Просмотров: 900
File 27 Просмотров: 766
File 28 Просмотров: 1020
File 29 Просмотров: 789
File 30 Просмотров: 868
File 31 Просмотров: 771
File 32 Просмотров: 807
File 33 Просмотров: 875
File 34 Просмотров: 883
File 35 Просмотров: 676
File 36 Просмотров: 770
File 37 Просмотров: 654
File 38 Просмотров: 735
File 39 Просмотров: 749
File 40 Просмотров: 657
File 41 Просмотров: 708
File 42 Просмотров: 870
File 43 Просмотров: 651
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 Просмотров: 757
File 57 Просмотров: 593
File 58 Просмотров: 737
File 59 Просмотров: 689
File 60 Просмотров: 1195

Комментарии

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



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