Задача для паскаля. Во входном файле имеется массив из 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
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);
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо
Русский язык.
Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.
Разные вопросы.
Сочинение на тему "Русский язык не сможет умереть!"
Математика.
Приветствую!
Меня зовут Станислав, я представляю компанию under.site.
Хотел бы предложить интересное решение
Разные вопросы.
Масса трёх одинаковых пакетов чая 180г чему равна масса
Математика.
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Облако тегов