Найти порядковый номер максимального элемента и записать его в первую строку файла, во 2-ю строку сам массив - Pascal

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. var
  2. f, r: file of char;
  3. c: char;
  4. i, n,k: integer;
  5. max:char;
  6. x: array [1..1000] of char;
  7.  
  8. begin
  9. assign(f, 'd:\input.txt');
  10. assign(r, 'd:\output.txt');
  11.  
  12. reset(f);
  13. i := 1;
  14. while not eof(f) do
  15. begin
  16. read(f, c);
  17. x[i] := c;
  18. write(x[i], ' ');
  19. inc(i);
  20. n := i;
  21. if x[i]>max then
  22. begin
  23. k:=i;
  24. max:=x[i];
  25. end;
  26. end;
Номер max элемента вроде нашел,а как в 1 строку его и во 2 массив записать? .

Решение задачи: «Найти порядковый номер максимального элемента и записать его в первую строку файла, во 2-ю строку сам массив»

textual
Листинг программы
  1. var
  2.   f, r: text;
  3.   i, n, k: integer;
  4.   max: integer;
  5.   x: array [1..1000] of integer;
  6.  
  7.  
  8. begin
  9.   assign(r, 'input.txt');
  10.   reset(r);
  11.   i := 1;
  12.   while not eof(r) do
  13.   begin
  14.     read(r, x[i]);
  15.     inc(i);
  16.   end;
  17.   n := i;
  18.   close(r);
  19.  
  20.   max := x[1];  
  21.   k := 1;
  22.   for i := 1 to n do
  23.     if x[i] > max then
  24.     begin
  25.       k := i;
  26.       max := x[i];
  27.     end;
  28.   writeln('Max: ', max, ', индекс: ', k );
  29.   assign(f, 'output.txt');
  30.   rewrite(f);
  31.   writeln(f, k);
  32.   for i := 1 to n do
  33.     write(f, x[i], ' ');
  34.   writeln(f);  
  35.   close(f);
  36. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы