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

Дан массив A[1..N] и число B. Переставить числа в массиве таким образом, чтобы слева от некоторой границы стояли числа, меньшие или равные B, а справа

10-11 класс

от границы - большие или равные B. программный код на Pascal

айжанока 06 марта 2014 г., 5:59:19 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Collab
06 марта 2014 г., 7:37:38 (10 лет назад)

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.

Ответить

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

((C+B)-->B)*(A*B)-->B)
На языке SQL создать запрос.

Даны табл. Пациенты(код пациента, фамилия, код отделения), Отделения(код отделения, название).
посчитать количество пациентов в терапевтическом отделении

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

дана программа нахождения суммы всех элементов массива. Изменить программу таким образом,чтобы:

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.

Система команд исполнителя Ластик имеет вид:

(Умножение на 2),(Стереть последнюю цифру)
A) числа 7 из числа 361:
Б) числа 14 из числа 457:

Составить программу Дан массив натуральных чисел , размерность -12 !) Заполнение массива производить с клавиатуры 2) Вывести на печать

только элементы кратные 2

3)Найти сумму первых пяти элементов

Составить программу Дан массив целых чисел , размерность -12

1) Заполнение массива производить случайными числами из диапозона [-10;35]

2)Вывести на печать только положительные элементы

3)Найти количество отрицательных элементов

Составить программу

Известны данные о выпуске прождукции ( ткани в метрах ) ткацким цехом текстильного комбината за каждый день месяца . Определить количество ткани ( метров) произведенных цехом за месяц .

ПАСКАЛЬ.1)дан целочисленный массив из 30 элементов.элементы массива могут принимать целые значения от 0 до 1000.опишите на русском языке или на одном из

языков программирования алгоритм,позволяющий найти среднее арифметическое нечетных трехзначных чисел,записанных в этом массиве.если ни одного такого числа нет,нужно вывести сообщение об этом.
2)дан целочисленный массив из 30 элементов.элементы массива могут принимать целые значения от 0 до 100.опишите на русском языке или на одном из языков программирования алгоритм,позволяющий найти и вывести произведение элементов массива,которые имеют четное значение и не оканчиваются на 0.



Вы находитесь на странице вопроса "Дан массив A[1..N] и число B. Переставить числа в массиве таким образом, чтобы слева от некоторой границы стояли числа, меньшие или равные B, а справа", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.