nn jj



Автор Pathfinder-F задал вопрос в разделе Другие языки и технологии

Из массива JJ(100) в массив NN(100) перенести числа(элементы массива): сначала нечетные, а затем четные. и получил лучший ответ

Ответ от Gennady[гуру]
Доброго времени суток.
Не совсем понятно, что подразумевается под "сначала нечетные, а затем четные"? Элементы массива четные и нечетные или их индексы?
Если элементы, то
j := 0;
for i:=1 to 100 do
if jj[ i ] mod 2 = 1 then begin
Inc(j);
nn[j] := jj[ i ];
end;
for i:=1 to 100 do
if jj[ i ] mod 2 = 0 then begin
Inc(j);
nn[j] := jj[ i ];
end;
Есть и другое решение. Сначала отсортировать исходный массив так, чтобы в нем стояли сначала нечетные, а затем четные и после этого переписать массив jj в nn. Примерно так
k:=1;
for i:=1 to n do
if jj[ i ] mod 2 = 1 then begin
B := jj[ j ];
for m:=i downto k do jj[m] := jj[m-1];
jj[k] := B;
Inc(k);
end;
for i:=1 to n do nn[ i ] := jj[ i ];
Для случая индексов массива подумайте сами.
Удачи!

Ответ от Fawkes Nord[новичек]
Паскаль не помню, но выглядеть будет примерно так:
j := 1;
for(i := 1; i < 50; i : = i+1)
{
NN(j) = JJ(j); //пишем нечетные элементы массива
j := (i*2)+1; //всегда будет нечетное число
}
для четного все тоже самое, только j := i*2; ну и начинается с 0.
Удачи.

Ответ от Баранов Константин[гуру]
;задаем массив чисел
dim jj(101)
dim nn(101)
;вводим по порядку начиная с 1 нечетные числа в разные ячейки массива НН
$temp = 1
for $x = 1 to 100
if $jj($x)/2<> int ($jj($x)/2) then nn($temp)=$jj($x)
$temp=$temp+1
next
;продолжаем ввод четных чисел в разные ячейки массива НН
for $x = 1 to 100
if $jj($x)/2=int ($jj($x)/2) then nn($temp)=$jj($x)
$temp=$temp+1
next
Язык программирования другой, но смысл, думаю ясен.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Из массива JJ(100) в массив NN(100) перенести числа(элементы массива): сначала нечетные, а затем четные.
Третья сторона на Википедии
Посмотрите статью на википедии про Третья сторона
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*