Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать, расположив четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку 4, если четверок не меньше, чем троек.
Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.
Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.
Примеры
Решение
var n,m,i,p:integer;
a,b,c:array [1..100] of integer;
f,f1:text;
begin
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,n); m:=0;p:=0;
for i:=1 to n do
read(f,a[i]);
for i:=1 to n do
begin
if a[i] mod 2 =0 then
begin
m:=m+1;
b[m]:=a[i];
end
else
begin
p:=p+1;
c[p]:=a[i];
end;
end;
if p<> 0 then
for i:=1 to p do
Write(f1,c[i],' ');
writeln(f1);
if m<> 0 then
for i:=1 to m do
Write(f1,b[i],' ');
writeln(f1);
if m>=p then
writeln(f1,'YES') else writeln(f1,'NO');
close(f);
close(f1);
end.
Вопросы, замечания, свои вариант решения пишите в комментариях.
Входные данные
В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1 ≤ N ≤ 100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.
Выходные данные
В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.
Примеры
№
|
INPUT.TXT
|
OUTPUT.TXT
|
1
|
5
4 16 19 31 2 |
19 31
4 16 2 YES |
2
|
8
29 4 7 12 15 17 24 1 |
29 7 15 17 1
4 12 24 NO |
Решение
var n,m,i,p:integer;
a,b,c:array [1..100] of integer;
f,f1:text;
begin
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,n); m:=0;p:=0;
for i:=1 to n do
read(f,a[i]);
for i:=1 to n do
begin
if a[i] mod 2 =0 then
begin
m:=m+1;
b[m]:=a[i];
end
else
begin
p:=p+1;
c[p]:=a[i];
end;
end;
if p<> 0 then
for i:=1 to p do
Write(f1,c[i],' ');
writeln(f1);
if m<> 0 then
for i:=1 to m do
Write(f1,b[i],' ');
writeln(f1);
if m>=p then
writeln(f1,'YES') else writeln(f1,'NO');
close(f);
close(f1);
end.
Вопросы, замечания, свои вариант решения пишите в комментариях.
Комментариев нет:
Отправить комментарий