Вопрос задан 08.07.2023 в 14:30. Предмет Информатика. Спрашивает Ненашева Дарья.

Информатика 10 класс, на Паскале без сложных функций (решение для 10 класса)в файле записано не

более 100 чисел отсортировать их по возрастанию суммы цифр и записать в другой файлв интернете все программы не работают, проверял, поэтому если скопируете - бан!​
0 0
Перейти к ответам

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

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

Ответ:

Исходный код программы, а также результат выполнения (ввод через input.txt, вывод через output.txt) прикреплены во вложении.

Пояснение:

Как я понял, традиционными способами в паскале вряд ли получится просто прочитать все числа до конца файла. Если в файле добавить хоть один перенос строки, данная программа уже работать не будет.


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

pascal
program SortByDigitSum; const MaxNumbers = 100; type NumberArray = array[1..MaxNumbers] of Integer; var InputFileName, OutputFileName: string; Numbers: NumberArray; TotalNumbers: Integer; procedure ReadNumbersFromFile(const FileName: string; var Numbers: NumberArray; var TotalNumbers: Integer); var InputFile: TextFile; i: Integer; begin AssignFile(InputFile, FileName); Reset(InputFile); TotalNumbers := 0; while not Eof(InputFile) do begin Inc(TotalNumbers); ReadLn(InputFile, Numbers[TotalNumbers]); end; CloseFile(InputFile); end; procedure WriteNumbersToFile(const FileName: string; const Numbers: NumberArray; TotalNumbers: Integer); var OutputFile: TextFile; i: Integer; begin AssignFile(OutputFile, FileName); Rewrite(OutputFile); for i := 1 to TotalNumbers do WriteLn(OutputFile, Numbers[i]); CloseFile(OutputFile); end; function GetDigitSum(Number: Integer): Integer; var Sum, Digit: Integer; begin Sum := 0; while Number > 0 do begin Digit := Number mod 10; Sum := Sum + Digit; Number := Number div 10; end; Result := Sum; end; procedure Swap(var a, b: Integer); var temp: Integer; begin temp := a; a := b; b := temp; end; procedure BubbleSortByDigitSum(var Numbers: NumberArray; TotalNumbers: Integer); var i, j: Integer; begin for i := 1 to TotalNumbers - 1 do for j := 1 to TotalNumbers - i do if GetDigitSum(Numbers[j]) > GetDigitSum(Numbers[j + 1]) then Swap(Numbers[j], Numbers[j + 1]); end; begin Write('Введите имя файла с числами: '); ReadLn(InputFileName); Write('Введите имя файла для записи результатов: '); ReadLn(OutputFileName); ReadNumbersFromFile(InputFileName, Numbers, TotalNumbers); BubbleSortByDigitSum(Numbers, TotalNumbers); WriteNumbersToFile(OutputFileName, Numbers, TotalNumbers); WriteLn('Числа были отсортированы и записаны в файл ', OutputFileName); end.

Скопируйте этот код в среду программирования для Pascal, сохраните файл с расширением .pas и выполните программу. Убедитесь, что у вас есть файл с числами, которые вы хотите отсортировать, и введите его имя при выполнении программы. После завершения выполнения будет создан новый файл с отсортированными числами по сумме их цифр.

0 0

Похожие вопросы

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

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

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