Дан массив A[1..N] и число B. Переставить числа в массиве таким образом, чтобы слева от некоторой границы стояли числа, меньшие или равные B, а справа
10-11 класс
|
от границы - большие или равные B. программный код на Pascal
Program MashaLukianova2;
uses crt;
const n=20;
var
mas:array[1..n] of integer;
b,i,left,right,temp:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
write('Введите загадочное число B ');
readln(b);
writeln('Элементы массива:');
{создание и вывод начального массива}
randomize;
for i:=1 to n do
begin
mas[i]:=random(100)-50;
write (mas[i]:4);
end;
writeln();
left:=0;
right:=n;
while left <> right do {просматриваем массив с концов к середине, пока "левый" и "правый" текущие элементы не встретятся}
begin
if mas[left+1]<=b then
{если текущий "левый" элемент меньше или равно В, то просто идём смотреть следующий }
begin
left:=left+1;
end
else
if mas[right]>=b then
{если текущий "правый" элемент больше или равно В, то просто идём смотреть следующий }
begin
right:=right-1;
end
else
{иначе меняем "левый" и "правый" местами}
begin
temp:= mas[left+1];
mas[left+1]:=mas[right];
mas[right]:=temp;
left:=left+1;
right:=right-1;
end;
end;
writeln();
{вывод массива-результата}
for i:=1 to n do
begin
write (mas[i]:4);
end;
writeln();
end.
Другие вопросы из категории
Даны табл. Пациенты(код пациента, фамилия, код отделения), Отделения(код отделения, название).
посчитать количество пациентов в терапевтическом отделении
Читайте также
a) массив состоял из 15 элементов вещественного типа;
b) значения элементов массива должны меняться в интервале от 0 до 5;
c) в результате выполнения программы должно быть найдено произведение всех элементов массива, а не их сумма
Program massiv;
const n=10;
Var a: array [1..n] of integer;
s,i integer;
Begin
writeln (‘ исходный массив.‘);
For i:= 1 to n do
begin
a [ i] := random (10);
write (‘a[‘i'] =', a[i], '');
end;
s:=0;
For i:= 1 to n do
s:= s+a[i];
Writeln (‘ сумма всех элементов массива S=‘, s);
end.
диагонали были равны 1
(Умножение на 2),(Стереть последнюю цифру)
A) числа 7 из числа 361:
Б) числа 14 из числа 457:
только элементы кратные 2
3)Найти сумму первых пяти элементов
Составить программу Дан массив целых чисел , размерность -12
1) Заполнение массива производить случайными числами из диапозона [-10;35]
2)Вывести на печать только положительные элементы
3)Найти количество отрицательных элементов
Составить программу
Известны данные о выпуске прождукции ( ткани в метрах ) ткацким цехом текстильного комбината за каждый день месяца . Определить количество ткани ( метров) произведенных цехом за месяц .
языков программирования алгоритм,позволяющий найти среднее арифметическое нечетных трехзначных чисел,записанных в этом массиве.если ни одного такого числа нет,нужно вывести сообщение об этом.
2)дан целочисленный массив из 30 элементов.элементы массива могут принимать целые значения от 0 до 100.опишите на русском языке или на одном из языков программирования алгоритм,позволяющий найти и вывести произведение элементов массива,которые имеют четное значение и не оканчиваются на 0.