Вопрос задан 10.04.2021 в 21:33. Предмет Информатика. Спрашивает Кузьмин Константин.

В файле записано не более 100 чисел. Отсортировать их по возрастанию последней цифры и записать в

другой файл. Pascal.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Портнягина Ксюша.
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

procedure MakeFile(path:string);
// не относится к заданию, создает файл Text со 100 числами
begin
  WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString))
end;

begin
  MakeFile('MyFile1.txt');
  // теперь у нас есть текстовый файл из 100 случайных чисел
  // собственно, решение
  var n:=ReadInteger('Укажите количество чисел:');
  var a:=ReadLines('MyFile1.txt').Take(n).ToArray;
  Writeln('Исходная последовательность'); a.Println;
  Writeln('Результирующая последовательность');
  a:=a.OrderBy(x->x.Last).ToArray; a.Println;
  WriteAllLines('MyFile2.txt',a);
end.

Пример
Укажите количество чисел: 15
Исходная последовательность
51 -9 17 -12 7 -15 -20 50 98 19 56 67 -57 -42 64
Результирующая последовательность
-20 50 51 -12 -42 64 -15 56 17 7 67 -57 98 -9 19
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на Pascal, которая отсортирует числа из одного файла по возрастанию последней цифры и запишет их в другой файл:

pascal
program SortByLastDigit; var input, output: Text; nums: array [1..100] of Integer; count, i, j, temp: Integer; function GetLastDigit(num: Integer): Integer; begin GetLastDigit := num mod 10; end; procedure BubbleSort; begin for i := 1 to count - 1 do for j := 1 to count - i do if GetLastDigit(nums[j]) > GetLastDigit(nums[j+1]) then begin temp := nums[j]; nums[j] := nums[j+1]; nums[j+1] := temp; end; end; begin assign(input, 'input.txt'); reset(input); assign(output, 'output.txt'); rewrite(output); count := 0; while not eof(input) do begin inc(count); readln(input, nums[count]); end; BubbleSort; for i := 1 to count do writeln(output, nums[i]); close(input); close(output); end.

Как использовать эту программу:

  • Создайте файл "input.txt" и запишите в него не более 100 чисел, каждое число на новой строке.
  • Запустите программу и она отсортирует числа и запишет результат в файл "output.txt".
0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос