Найти порядковый номер максимального элемента и записать его в первую строку файла, во 2-ю строку сам массив - Pascal
Формулировка задачи:
var f, r: file of char; c: char; i, n,k: integer; max:char; x: array [1..1000] of char; begin assign(f, 'd:\input.txt'); assign(r, 'd:\output.txt'); reset(f); i := 1; while not eof(f) do begin read(f, c); x[i] := c; write(x[i], ' '); inc(i); n := i; if x[i]>max then begin k:=i; max:=x[i]; end; end;
Решение задачи: «Найти порядковый номер максимального элемента и записать его в первую строку файла, во 2-ю строку сам массив»
textual
Листинг программы
var f, r: text; i, n, k: integer; max: integer; x: array [1..1000] of integer; begin assign(r, 'input.txt'); reset(r); i := 1; while not eof(r) do begin read(r, x[i]); inc(i); end; n := i; close(r); max := x[1]; k := 1; for i := 1 to n do if x[i] > max then begin k := i; max := x[i]; end; writeln('Max: ', max, ', индекс: ', k ); assign(f, 'output.txt'); rewrite(f); writeln(f, k); for i := 1 to n do write(f, x[i], ' '); writeln(f); close(f); end.
Объяснение кода листинга программы
- Объявляются переменные:
f
иr
как текстовые файлыi
,n
,k
,max
как целочисленные переменныеx
как массив из 1000 целых чисел
- Открывается файл
input.txt
для чтения. - Создается цикл, в котором происходит следующее:
- Считывается значение из файла
input.txt
и записывается в массивx
на позициюi
. - Увеличивается значение
i
на 1.
- Считывается значение из файла
- Присваивается значению
n
значениеi
, полученное после завершения цикла. - Файл
input.txt
закрывается. - Присваивается переменной
max
значение первого элемента массиваx
. - Присваивается переменной
k
значение 1. - Создается цикл, в котором происходит следующее:
- Если текущий элемент массива
x
больше значенияmax
, то присваивается значениеk
текущему индексу и значениеmax
текущему элементу массива.
- Если текущий элемент массива
- Выводится сообщение о максимальном значении
max
и его индексеk
. - Открывается файл
output.txt
для записи. - Записывается в файл
output.txt
значение переменнойk
. - Создается цикл, в котором происходит следующее:
- Записывается в файл
output.txt
значения массиваx
через пробел.
- Записывается в файл
- В файл
output.txt
добавляется переход на новую строку. - Файл
output.txt
закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д