По разделам

 

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


Даны три файла одного и того же типа, но разного размера. Заменить содержимое самого короткого файла на содержимое самого длинного.

Код (Python)

# -*- coding: utf-8 -*-
import random
import sys
import os
from shutil import copyfile

file1 = "file45_1.txt"
file2 = "file45_2.txt"
file3 = "file45_3.txt"

try:
    size1 = os.stat(file1).st_size
    size2 = os.stat(file2).st_size
    size3 = os.stat(file3).st_size

    min_size = size1
    min_file = file1
    max_size = size1
    max_file = file1

    if size2 < min_size:
        min_size = size2
        min_file = file2
    
    if size3 < min_size:
        min_size = size3
        min_file = file3

    if size2 > max_size:
        max_size = size2
        max_file = file2
    
    if size3 > max_size:
        max_size = size3
        max_file = file3

    print("min size: ", min_size)
    print("min file: ", min_file)
    print("max size: ", max_size)
    print("max file: ", max_file)
    ## copyfile(source, destination)
    copyfile(max_file, min_file)

except:
    print("Error: ", sys.exc_info())
									

Код (Pascal)

program File45;
var
 Name1,Name2,Name3:String;
 F1,F2,F3: File;
 FS1,FS2,FS3 : longint;
procedure ReplaceFile(NameOld,NameNew:String);
var
 F,F_R :File;
 Buf : Char;
begin
  Assign(F,NameOld);
  Reset(F, 1);
  Assign(F_R,NameNew);
  Rewrite(F_R,1);
  while not Eof(f) do
   begin
    BlockRead(F, Buf, SizeOf(char));
    BlockWrite(F_R, Buf, sizeof(char));
   end;
  Close(F);
  Close(F_R);
end;
begin
  Write('File1: ');
  Readln(Name1);
  Assign(F1,Name1);
  Reset(F1);
  Write('File2: ');
  Readln(Name2);
  Assign(F2,Name2);
  Reset(F2);
  Write('File3: ');
  Readln(Name3);
  Assign(F3,Name3);
  Reset(F3);
  FS1:=filesize(F1);
  FS2:=filesize(F2);
  FS3:=filesize(F3);
  Close(F1);
  Close(F2);
  Close(F3);
  if ((FS2<=FS1) and (FS1<=FS3)) or ((FS2>=FS1) and (FS1>=FS3)) then
   if FS2>FS3 then ReplaceFile(Name2,Name3)
    else ReplaceFile(Name3,Name2);
  if ((FS1<=FS2) and (FS2<=FS3)) or ((FS1>=FS2) and (FS2>=FS3)) then
   if FS1>FS3 then ReplaceFile(Name1,Name3)
    else ReplaceFile(Name3,Name1);
  if ((FS1<=FS3) and (FS3<=FS2)) or ((FS1>=FS2) and (FS2>=FS3)) then
   if FS1>FS2 then ReplaceFile(Name1,Name2)
    else ReplaceFile(Name2,Name1);
end.
									




File. Абрамян
File 1 Просмотров: 4600
File 2 Просмотров: 3882
File 3 Просмотров: 1823
File 4 Просмотров: 2278
File 5 Просмотров: 1763
File 6 Просмотров: 1570
File 7 Просмотров: 1374
File 8 Просмотров: 1833
File 9 Просмотров: 1088
File 10 Просмотров: 1603
File 11 Просмотров: 1113
File 12 Просмотров: 1256
File 13 Просмотров: 1098
File 14 Просмотров: 976
File 15 Просмотров: 883
File 16 Просмотров: 1131
File 17 Просмотров: 1313
File 18 Просмотров: 908
File 19 Просмотров: 777
File 20 Просмотров: 959
File 21 Просмотров: 816
File 22 Просмотров: 979
File 23 Просмотров: 840
File 24 Просмотров: 837
File 25 Просмотров: 894
File 26 Просмотров: 871
File 27 Просмотров: 739
File 28 Просмотров: 993
File 29 Просмотров: 757
File 30 Просмотров: 839
File 31 Просмотров: 740
File 32 Просмотров: 779
File 33 Просмотров: 850
File 34 Просмотров: 858
File 35 Просмотров: 651
File 36 Просмотров: 746
File 37 Просмотров: 631
File 38 Просмотров: 701
File 39 Просмотров: 719
File 40 Просмотров: 632
File 41 Просмотров: 683
File 42 Просмотров: 842
File 43 Просмотров: 625
File 44 Просмотров: 631
File 45 Просмотров: 694
File 46 Просмотров: 604
File 47 Просмотров: 729
File 48 Просмотров: 852
File 49 Просмотров: 745
File 50 Просмотров: 779
File 51 Просмотров: 757
File 52 Просмотров: 773
File 53 Просмотров: 610
File 54 Просмотров: 588
File 55 Просмотров: 663
File 56 Просмотров: 729
File 57 Просмотров: 561
File 58 Просмотров: 709
File 59 Просмотров: 665
File 60 Просмотров: 1168

Комментарии

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



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