Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2013, 20:43   #1
leshiy_777
 
Регистрация: 09.12.2013
Сообщений: 5
По умолчанию Из вещественного массива А(N) получить массив С

Из вещественного массива А(N) получить массив С, котором через один записать отрицательные элементы массива А.
Выручайте пожалуйста, очень благодарен буду.
leshiy_777 вне форума Ответить с цитированием
Старый 23.12.2013, 21:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А покажешь код ввода массива А?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 21:53   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
А покажешь код ввода массива А?
А как бы ты стал решать? Мне лишь идею.. (я думаю есть 3 красивых варианта)..
Poma][a вне форума Ответить с цитированием
Старый 23.12.2013, 22:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как бы ты стал решать?
Да попросту. Сначала бы раскидал отрицательные на четные места, потом остальные забил бы положительными. Два цикла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.12.2013, 09:43   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Вариант от меня..
Основная идея взята из quick_sort'a.. (сильно не проверял)..
Код:
var
	a : array [0..100] of LongInt;

procedure QSort (l, r : LongInt);
var
	m, t, i, j : LongInt;

begin
    i := l; j := r-r mod 2;

	while (i <= r) and (j >= 2) do begin
        	while (i <= r) and (a[i] > 0) do
                	Inc (i, 2);

                while (j >= 2) and (a[j] < 0)  do
                	Dec (j, 2);

                if (i <= r) and (j >= 2) then begin
                		WriteLn('swap');
						t := a[i];
                        a[i] := a[j];
                        a[j] := t;
                        Inc (i, 2);
                        Dec (j, 2)
                end;
        end;

end;

var
	n, k, i, j : Integer;
 

begin
	ReadLn (n); 

    for i := 1 to n do
      	Read  (a[i]);

    QSort (1, n);

	for i := 1 to n do
		Write(a[i], ' ')

end.
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент Nirvanaaa Помощь студентам 4 22.06.2013 11:30
Сортировка вещественного массива методом шейкер-сортировки Sylest Помощь студентам 0 12.05.2012 17:19
Получить массив значений полей из массива класса KobolD C# (си шарп) 4 20.10.2011 13:31
Из одномерного массива(вектора) по доп.массиву разрешенных значений получить массив неразрешенных(Паскаль Марьянка Помощь студентам 8 01.04.2011 09:09
Обработка вещественного массива Painsector Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 10.12.2007 19:48