IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Четные - нечетные последовательности
Ivs
сообщение 17.11.2002 12:13
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 209

Репутация: -  0  +


Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT
[Задание:
Пусть задана последовательность из n (n Ј 100) целых чисел {a1, a2, ..., an} (1 Ј ai Ј 100), которая содержит m четных чисел и l - нечетных (m + l = n). Требуется получить последовательность из k пар (k = min(m, l)) {(x1, y1), (x2, y2), ..., (xk, yk)}, где x1, x2, ..., xk - взятые в порядке следования первые k четных членов последовательности {a1, a2, ..., an}, а y1, y2, ..., yk - взятые в порядке следования первые k нечетных членов последовательности {a1, a2, ..., an}.
Формат входных данных:
Входной файл INPUT.TXT состоит из двух строк. В первой строке содержится натуральное число n - длина последовательности. Во второй - идут целые числа a1, a2, ..., an, разделенные пробелами. Пример:
10
98 56 33 73 41 8 48 93 52 80
Формат выходных данных:
Выходной файл OUTPUT.TXT должен содержать последовательность {(x1, y1), (x2, y2), ..., (xk, yk)}, расположенную в одной строке файла, числа должны быть разделены пробелами. Если исходная последовательность не содержит ни одного четного или ни одного нечетного члена, т.е. k = 0, то в файл необходимо вывести цифру 0 (нуль).
Пример:
98 33 56 73 8 41 48 93


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Ivs
сообщение 30.11.2002 10:22
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 209

Репутация: -  0  +


В первой проге у тебя есть маленькая ошибка: если, например, нечетных чисел больше то у тебя не будет выполняться цикл for i:=m to l do, а вторая классно зделана не придерешся, а вот мой вариант:

program Posled_CHET_NECHET;
var
f1,f2:text;
i,r,g,f,j,n:integer;
b,a:array[1..100] of byte;
begin
assign(f1,'input.txt');
assign(f2,'output.txt');
reset(f1);
rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
r:=1;i:=1;
while i<=n do
begin
if a[i] mod 2=0 then
begin
b[r]:=a[i];
r:=r+2;
end;
i:=i+1;
end;
g:=r-2;
r:=2;i:=1;
while n>=i do
begin
if odd(a[i]) then
begin
b[r]:=a[i];
r:=r+2;
end;
i:=i+1;
end;
f:=r-2;
if (g=-1) or (f=0) then write(f2,'0') else
begin
if f>=g then j:=g+1 else j:=f;
for i:=1 to j do write(f2,b[i],' ');
end;
close(f1);
close(f2);
end.


Я здесь использую дополнительный массив который заполняю сначала четными, а затем нечетными числами, ну а потом вывожу в файл то что надо.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 0:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"