Нажимая на кнопку "Задать вопрос", я даю согласие на обработку персональных данных

Задать вопрос
Задать вопрос
  • В двух файлах записаны отсортированные по возрастанию массивы неизвестной длины. Объединить их и записать результат в третий файл. Полученный массив также должен быть отсортирован по возрастанию.
    На питоне

    • 03 December 2020
    • Ответ оставил: DeYdOg

    Ответ:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    var f1,f2,f3:text;

       n,i,a,b:integer;

    begin

    //создадим исходные файлы, можно вынести в отдельную программу

    //или создать файлы вручную

    randomize;

    assign(f1,'f1.txt');

    rewrite(f1);

    assign(f2,'f2.txt');

    rewrite(f2);

    write('Сколько чисел ввести в первый файл n=');

    readln(n);

    writeln('Содержание файла f1:');

    a:=1;

    for i:=1 to n do

    begin

     a:=a+random(5);

     write(f1,' ',a);

     write(' ',a);

    end;

    writeln;

    write('Сколько чисел ввести во второй файл n=');

    readln(n);

    writeln('Содержание файла f2:');

    a:=1;

    for i:=1 to n do

    begin

     a:=a+random(5);

     write(f2,' ',a);

     write(' ',a);

    end;

    writeln;

    reset(f1);

    reset(f2);

    assign(f3,'f3.txt');

    rewrite(f3);

    //если не конец файла, то читаем числа иначе создаем барьер из

    //максимально возможного целого числа

    if not eof(f1) then read(f1,a) else a:=maxint;

    if not eof(f2) then read(f2,b) else b:=maxint;

    while (a<maxint) or (b<maxint) do//пока оба файла не кончились

    begin

     if (a<=b) and (a<maxint) then //если 1<=2

      begin

       write(f3,' ',a);//1 пишем в файл 3

       if not eof(f1) then read(f1,a) else a:=maxint;//если не конец 1,

                                                     //то читаем следующее , иначе барьер

     end

     else if b<a then //иначе если 2<1 то же но со 2 файлом

      begin

       write(f3,' ',b);

       if not eof(f2) then read(f2,b) else b:=maxint;

     end;

    end;

    reset(f3);//смотрим что получилось

    writeln('Слияние файлов:');

    while not eof(f3) do

    begin

     read(f3,a);

     write(' ',a);

    end;

    close(f1);

    close(f2);

    close(f3);

    end.

    Объяснение:

    Вроде бы так, я не слишком в этом хорош.

    • НЕ НАШЛИ ОТВЕТ?
    Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти похожие ответы по предмету школьной программы: информатика.
    На сегодняшний день (04.08.2026) наш сайт содержит 109576 вопросов, по теме: информатика. Возможно среди них вы найдете подходящий ответ на свой вопрос.
  • Нажимая на кнопку "Ответить на вопрос", я даю согласие на обработку персональных данных

    Ответить на вопрос

Последние опубликованные вопросы

Сообщение записанное буквами 32 символьного алфавита содержит 20 символов. Чему равен информационный объём этого сообщения в байтах? Объем видеопамяти для хранения страниц изображения при условии, что разрешающая способность двух с дисплея плана 640*350 пикселей, а количество используемых цветов-16? Комитет можно составить из 3 или 5 судей. Есть 5 кандидатов, точность предсказаний которых приведена в таблице. Составьте ансамбль судей, имеющий наибольшую из возможных точность предсказания. В ан... 16. Шифр кодового замка является двузначным числом. Буратино забыл код, но помнит, что сумма цифр этого числа, сложенная с их произведением, равна самому числу. Напишите все возможные варианты кода... S<13 и не s чётное Получено сообщение, информационный объем которого равен 32 битам. Чему равен этот объем в байтах Каждый переданный кодовый символ может принят ошибочно с фиксированным вероятностью P Решать задачку по этой формуле P(zj/Uk) = P/N-1 при j≠k I-p при j=k В дощечку в ряд вбито 10 гвоздиков, таким образом, получилось 9 последовательных промежутков между ними. Длины промежутков (подряд, слева направо) оказались равны 7, 2, 8, 4, 3, 9, 5, 1, 6. Между н... Кто может подсказать почему не работает секундомер? (не добирает 60 секунд следовательно не переходит на следующую минуту) язык Python import time from tkinter import * from datetime import datetim... Pyhon (Информатика) Решить задачу: На тренировках спортсмен ежедневно пробегает некоторую дистанцию, с каждым днем увеличивая ее на 10%. Составить программу, определяющую по расстоянию, преодоленн... совокупность средств и правил взаимодействия человека с компьютером​ Что такое информатика в ИБ кратко
*{ message }*