Задача для паскаля. Во входном файле имеется массив из 10 целых чисел.

Задачка для паскаля. Во входном файле имеется массив из 10 целых чисел. Первые 9 частей упорядочены. В выходной файл вставить 10-й элемент так, чтобы все элементы массива были упорядочены.

Задать свой вопрос
1 ответ
Const
  n = 10;

var
  i, k, j: integer;
  a: array[1..n] of integer;

begin
  Write('Введите через пробел девять целых чисел в порядке возрастания: ');
  for i := 1 to n - 1 do Read(a[i]);
  Write('Введите целое число для вставки: '); Read(k);
  Определим позицию для вставки
  i := 1;
  while (k gt; a[i]) and (i lt; n) do i := i + 1;
  Выполним сдвиг бОльших частей вправо
  for j := n - 1 downto i do a[j + 1] := a[j];
  Осуществим вставку
  a[i] := k;
  Контрольный вывод
  Writeln('Результирующий массив');
  for i := 1 to n do Write(a[i], ' ')
end.

Тестовые решения:
Введите через пробел девять целых чисел в порядке возрастания: 3 6 8 10 14 15 17 19 24
Введите целое число для вставки: 25
Результирующий массив
3 6 8 10 14 15 17 19 24 25

Введите через пробел девять целых чисел в порядке возрастания: 3 6 8 10 14 15 17 19 24
Введите целое число для вставки: 0
Результирующий массив
0 3 6 8 10 14 15 17 19 24

Введите через пробел девять целых чисел в порядке возрастания: 3 6 8 10 14 15 17 19 24
Введите целое число для вставки: 13
Результирующий массив
3 6 8 10 13 14 15 17 19 24





Степа Фруентов
А если с привязкой к файлу?
Толян Мадюков
Тогда эти данные надобно поместить в файл, к примеру, в текстовый (var f:file of Text), вбить их туда по одному на строке, а потом, как обычно: Assign(f,'inpet.txt'); Reset(f) и в теле цикла заместо Read(a[i]) записать Readln(f,a[i]); Я сделал без файла, чтоб показать все три вероятные варианта вставки. да после чтения файла, за циклом, его можно закрыть оператором Close(f);
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт