Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
DreamExpedition
0 / 0 / 0
Регистрация: 01.03.2015
Сообщений: 1
1

Сортировка одномерных массивов, не трогая отрицательные и нулевые элементы

01.03.2015, 13:34. Просмотров 899. Ответов 1
Метки нет (Все метки)

В одномерном массиве из n вещественных чисел отсортировать в порядке возрастания все положительные элементы. Отрицательные и нулевые элементы оставить на своих местах.

Просто отсортировать массив я понимаю как. А вот что делать с отрицательными и нулевыми элементами я не знаю.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2015, 13:34
Ответы с готовыми решениями:

Сортировка одномерных массивов
Дан одномерный массив а1,а2,..аn. Упорядочить данный массив по убыванию...

Сортировка одномерных массивов
Отсортируйте в массиве четные элементы по возрастанию. Напишите пожалуйста...

Для каждого из массивов S(11), Р(9) все отрицательные элементы поделить на значение максимального элемента
Для каждого из массивов S(11), Р(9) все отрицательные элементы поделить на...

Обработка одномерных массивов
помогите пожалуйста) в делфи используя компонент Memo и ListBox Дан...

5. Обработка одномерных массивов
Составить программу для решения задачи. Вывести положительные элементы массива...

1
Sigin
221 / 221 / 111
Регистрация: 20.10.2013
Сообщений: 808
Завершенные тесты: 4
01.03.2015, 14:39 2
Лучший ответ Сообщение было отмечено DreamExpedition как решение

Решение

Delphi
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
procedure TForm1.Button1Click(Sender: TObject);
  function ArrayToStr(a: TDynIntegerArray): string;
  var
    s: string;
    i, n: integer;
  begin
    s := '';
    n := Length(a) - 1;
    if (n > 0) then
      s := IntToStr(a[0]);
    if (n > 1) then
      for i := 1 to Length(a) - 1 do
        s := s + ', ' + IntToStr(a[i]);
    Result := s;
  end;
 
  procedure SwapElements(var a, b: integer);
  begin
    a := a xor b;
    b := a xor b;
    a := a xor b;
  end;
 
var
  x: TDynIntegerArray;
  n, i, j: integer;
begin
  n := Abs(StrToIntDef(InputBox('Ввод размера', 'Введите размеры массива: ',
    '100'), 100));
  Memo1.Clear;
  SetLength(x, n);
  for i := 0 to n - 1 do
    x[i] := 50 - Random(100);
  Memo1.Lines.Add('Массив до сортировки:');
  Memo1.Lines.Add(ArrayToStr(x));
  for i := 0 to n - 1 do
    if x[i] > 0 then
      for j := i + 1 to n - 1 do
        if (x[j] > 0) and (x[i] > x[j]) then
          SwapElements(x[i], x[j]);
  Memo1.Lines.Add('Массив после сортировки:');
  Memo1.Lines.Add(ArrayToStr(x));
end;
1
Вложения
Тип файла: rar DreamExpedition.rar (97.6 Кб, 2 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2015, 14:39

Обработка одномерных массивов
Составить перечень значений элементов одномерного целочисленного массива

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

Вычитание одномерных массивов
Даны два массива B и C одинаковой размерности.Заполнить массив A,каждый элемент...


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

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

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