По разделам

 

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


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

Код (Python)

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

file1 = "file42_1.txt"
file2 = "file42_2.txt"
file3 = "file42_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(min_file, max_file)

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

Код (Pascal)

program File44;
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 Просмотров: 4642
File 2 Просмотров: 3922
File 3 Просмотров: 1867
File 4 Просмотров: 2379
File 5 Просмотров: 1792
File 6 Просмотров: 1596
File 7 Просмотров: 1405
File 8 Просмотров: 1863
File 9 Просмотров: 1114
File 10 Просмотров: 1633
File 11 Просмотров: 1144
File 12 Просмотров: 1291
File 13 Просмотров: 1120
File 14 Просмотров: 1008
File 15 Просмотров: 913
File 16 Просмотров: 1154
File 17 Просмотров: 1339
File 18 Просмотров: 937
File 19 Просмотров: 811
File 20 Просмотров: 990
File 21 Просмотров: 842
File 22 Просмотров: 1012
File 23 Просмотров: 871
File 24 Просмотров: 868
File 25 Просмотров: 923
File 26 Просмотров: 900
File 27 Просмотров: 763
File 28 Просмотров: 1018
File 29 Просмотров: 786
File 30 Просмотров: 865
File 31 Просмотров: 769
File 32 Просмотров: 805
File 33 Просмотров: 873
File 34 Просмотров: 880
File 35 Просмотров: 674
File 36 Просмотров: 768
File 37 Просмотров: 651
File 38 Просмотров: 732
File 39 Просмотров: 747
File 40 Просмотров: 654
File 41 Просмотров: 705
File 42 Просмотров: 870
File 43 Просмотров: 649
File 44 Просмотров: 660
File 45 Просмотров: 717
File 46 Просмотров: 629
File 47 Просмотров: 758
File 48 Просмотров: 879
File 49 Просмотров: 769
File 50 Просмотров: 800
File 51 Просмотров: 782
File 52 Просмотров: 806
File 53 Просмотров: 637
File 54 Просмотров: 616
File 55 Просмотров: 689
File 56 Просмотров: 754
File 57 Просмотров: 590
File 58 Просмотров: 736
File 59 Просмотров: 689
File 60 Просмотров: 1192

Комментарии

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



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