Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 976 ответов!

Необходимо составить программу с использованием рекурсии Замечание: под инвертированием понимают перестановку первого и последнего

10-11 класс

элементов этой части, второго и предпоследнего и т.д.


Инвертировать часть массива, расположенную между самым левым минимальным в первой половине массива и самым правым максимальным во второй половине массива.

YXXon 11 авг. 2014 г., 14:06:00 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
852741963
11 авг. 2014 г., 15:09:32 (9 лет назад)

Program Program1;
Var
a:array [1..10] of integer;
i,min,max, Nmin, Nmax:integer;

//Процедура рекурсивной инвресии массива
procedure InvertMas(nac,kon:integer);
var
temp:integer;
begin
temp:=a[nac];
a[nac]:=a[kon];
a[kon]:=temp;
if nac+1<kon-1 then InvertMas(nac+1,kon-1);
end;

begin
randomize;
//Заполняем массив случайнами числами и выводим его на экран
writeln('Массив до инверсии:');
for i:=1 to 10 do
begin
a[i]:=random(100);
writeln('a['+inttostr(i)+']='+inttostr(a[i]));
end;
//Находим самый левый минимальный элемент в первой половине массива и номер этого элемента
Nmin:=1;
min:=a[Nmin];
for i:=1 to 5 do
if min>a[i] then
begin
min:=a[i];
Nmin:=i;
end;
//Находим самый правый максимальный элемент во второй половине массива и номер этого элемента
Nmax:=10;
max:=a[Nmax];
for i:=10 downto 6 do
if max<a[i] then
begin
max:=a[i];
Nmax:=i;
end;

writeln;
writeln('Инвертируем часть массива с '+inttostr(Nmin)+' по '+inttostr(Nmax)+' элемент');
//Инвертируем часть массива с Nmin по Nmax
invertmas(Nmin,Nmax);

//Выводим массив после инверсии на экран
writeln;
writeln('Массив после инверсии:');
for i:=1 to 10 do writeln('a['+inttostr(i)+']='+inttostr(a[i]));

end.

Ответить

Другие вопросы из категории

ТЕРМІНОВО!!! ДО ЗАВТРА!!!

1. Тема: Обробка символьних рядків (даних типу String)
Завдання: Дано рядок символів, який складається з окремих слів, відокремлених інтервалом. Порахувати:
- кількість слів у рядку;
- кількість голосних букв у слові.

2. Тема: Обробка даних типу запис.
Завдання: скласти програму утворення даних типу запис у вигляді таблиці, з подальшим записом її в текстовий файл для створення довідкової інформації. У програмі передбачити створення слідуючих підпрограм-процедур:
2.1. формування 5-7 елементів масиву типу запис з полями, вказаними у індивідуальному завданні, з послідуючим їх записом у текстовий файл.
2.2. виведення на екран елементів масиву записів у відповідності з індивідуальним завданням.
Індивідуальне завдання: Список робітників підприємства: табельний номер, ПІБ, посада, дата прийняття на роботу, оклад. Роздрукувати дані про техніка, отримавшого найбільшу зарплатню.

Писати на Паскалі.
Тому, хто відповість правильно натисну "Краща відповідь і подякую на сторінці". Спам не писати заради балів.

Помогите с Pascal, пожалуйста. Завтра нужно домашку сдать, а я ничего не понимаю :(

Решите хотя бы одну, или две)
Вот задачи:
1. Заполнить одномерный массив, размерностью 15 по следующему правилу: на нечетном месте должен стоять элемент от 10 до 100, а на четном месте должен находиться нечетный элемент на том же промежутке.
2. Дан одномерный массив, заполненный целыми случайными числами. Определить, на сколько больше сумма четных элементов по сравнению с суммой элементов кратных 3.
3. Дан двумерный массив, размерностью 6х7. Определить, сумма каких элементов больше: 2-го столбца или 3-ей строки.

Написать программу вНаписать программу в паскале.Проверить правильность решения примера (вида 2+3=5):

1) Пример содержит два многозначных числа (123+45=168)
2) Содержит любое количество многозначных чисел (123+45+23+1+1678 + ... = ...)

Читайте также

1. Составить программу для нахождения наибольшего числа из трех чисел.

2. Составить программу для упорядоченное двух элементов по убыванию.

1)составить программу, организующую массив записей о книгах, ввести информацию по следующим полям:автор, название, год издания. Провести сортировку и

вывести список книг, изданных после 2003 года.



2)составить программу , организующую массив записей о пяти студентах и их оценках по трем предметам. провести сортировку и вывести список отличников.

помогите составить программу!пожалуйста!!!!ооочень надо

ракета запускается с земли со скоростью V(км час) в направлении движения земли по орбите вокруг солнца. составить программу,определяющую результат запуска ракета в зависимости от скорости V.
Известно,что при V16,4 ракета покинет солнечную систему.

Помогите пожалуйста!! ) составить программу в "Pascal abc"!!)

Составить программу вычисления значений функции F(x) на отрезке [а; b] с шагом h.
Результат представить в виде таблицы, первый столбец которой — значения
аргумента, второй — соответствующие значения функции: "F(x) = 1/2 ctg x/4+4"

Нужно составить программу с предусловием и постусловием!

Составить программу к.т. запрашивает буквы, пока не введут точку и находит количество букв "0".



Вы находитесь на странице вопроса "Необходимо составить программу с использованием рекурсии Замечание: под инвертированием понимают перестановку первого и последнего", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.