Найти порядковый номер максимального элемента и записать его в первую строку файла, во 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;
Номер max элемента вроде нашел,а как в 1 строку его и во 2 массив записать? .

Решение задачи: «Найти порядковый номер максимального элемента и записать его в первую строку файла, во 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.

Объяснение кода листинга программы

  1. Объявляются переменные:
    • f и r как текстовые файлы
    • i, n, k, max как целочисленные переменные
    • x как массив из 1000 целых чисел
  2. Открывается файл input.txt для чтения.
  3. Создается цикл, в котором происходит следующее:
    • Считывается значение из файла input.txt и записывается в массив x на позицию i.
    • Увеличивается значение i на 1.
  4. Присваивается значению n значение i, полученное после завершения цикла.
  5. Файл input.txt закрывается.
  6. Присваивается переменной max значение первого элемента массива x.
  7. Присваивается переменной k значение 1.
  8. Создается цикл, в котором происходит следующее:
    • Если текущий элемент массива x больше значения max, то присваивается значение k текущему индексу и значение max текущему элементу массива.
  9. Выводится сообщение о максимальном значении max и его индексе k.
  10. Открывается файл output.txt для записи.
  11. Записывается в файл output.txt значение переменной k.
  12. Создается цикл, в котором происходит следующее:
    • Записывается в файл output.txt значения массива x через пробел.
  13. В файл output.txt добавляется переход на новую строку.
  14. Файл output.txt закрывается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы