Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
crazy_HUNTER
0 / 0 / 1
Регистрация: 24.06.2012
Сообщений: 7
1

Сортировка без изменения порядка

16.12.2012, 21:53. Просмотров 328. Ответов 1
Метки нет (Все метки)

Нужен алгоритм сортировки на паскале, который позволяет отсортировать линейный массив так, чтоб отрицательные были слева, положительные справа. Мой алгоритм почему-то не работает:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
i:=1;
repeat
if (B[i]>=0) then
  begin
  buf:=B[i];
  for j:=i to n-1 do
   B[j]:=B[j+1];
  B[n]:=buf;
  for m:=1 to n do write(B[m],'# ');
  writeln;
  end
else begin i:=i+1; writeln('&',i); end;
until i<>n;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 21:53
Ответы с готовыми решениями:

Вычислить y = 2x при X<0, иначе оставить без изменения
Вычислить y = 2x при X&lt;0, иначе оставить без изменения.

Если в последовательности нет больших букв, то оставить ее без изменения
Дана строка. Если в ней нет больших букв , то оставить ее без изменения , иначе...

Если в строке нет символа *, то оставить эту строку без изменения
Помогите решить задачи 1)Найти сумму 10 членов ряда, в котором an=(n!)/n2. ...

Отсортировать все четные элементы одномерного массива по возрастанию, нечетные оставить без изменения
Дан одномерный массив. Отсортировать все четные элементы по возрастанию,...

Если в строке, размещенной в динамической памяти, нет символа +, то оставить текст без изменения
Если в строке,размещенной в динамической памяти,нет символа +,то оставить текст...

1
Ромаха
235 / 127 / 27
Регистрация: 16.12.2012
Сообщений: 576
Записей в блоге: 1
Завершенные тесты: 1
16.12.2012, 22:40 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var
        a : array [1..100] of Integer;
        i, j, n, ni, t : Integer; //negative index; positive index
        flag : Boolean;
 
begin
        ReadLn (n);
 
        for i := 1 to n do
                Read (a[i]);
 
        for i := 1 to n do
                if a[i] > 0 then begin
                                flag := TRUE;
                                for j := i+1 to n do
                                        if (a[j] < 0) and flag then begin
                                             ni := j;
                                             t := a[i];
                                             a[i] := a[ni];
                                             a[ni] := t;
                                             flag := FALSE
                                        end;
                end;
 
        for i := 1 to n do
                Write (a[i], ' ')
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 22:40

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

Дан вещественный вектор. Все его элементы, большие 0, умножить на 10, остальные оставить без изменения
Дан вещественный вектор. Все его элементы, больше 0 - умножить на 10, остальные...

Сортировка без цикла
Задача состроит в том, чтобы на одном языке (в данном случае, на с++) написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru