Array92. Дан целочисленный массив размера $$N$$. Удалить из массива все нечетные числа и вывести размер полученного массива и его содержимое.
Решение:
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 |
program Array92; var a : array[1..10] of Integer; N,i,k:Integer; begin Write('N: '); Readln(N); Writeln('A: '); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; k:=0; for i:=1 to n do if not odd(a[i]) then begin inc(k); a[k]:=a[i]; end; Writeln(N); for i:=1 to k do writeln(i,' :',a[i]); readln; end. |
Решение:
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 |
program Array92; var a : array[1..10] of Integer; N,i,k:Integer; begin Write('N: '); Readln(N); Writeln('A: '); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; repeat k:=11; for i:=1 to N do if (a[i] mod 2) <>0 then k:=i; if k<>11 then begin N:=N-1; for i:=K to N do a[i]:=a[i+1]; end; until (k=11); Writeln(N); for i:=1 to N do writeln(i,' :',a[i]); end. |
Решение от olegst1975:
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 |
type mas=array [1..10]of integer; var n,i:integer; a:mas; procedure del_odd_numbers(var a:mas;i:integer;var n:integer); var i1:integer; begin if i>n then exit; if (not odd(a[i])) then del_odd_numbers(a,i+1,n) else begin dec(n); for i1:=i to n do a[i1]:=a[i1+1]; del_odd_numbers(a,i,n); end; end; begin readln(n); for i:=1 to n do readln(a[i]); del_odd_numbers(a,1,n); writeln(n); for i:=1 to n do writeln(a[i]); end. |
Задачи из раздела Array можно посмотреть здесь.
То же самое процедурой
[/crayon]
Только мне exit
не нравится.
Я бы бурчать начал… но сейчас прохожу CodeCombat… так там прямо учат пользоваться break и continue …. притом, ещё до условного выхода из циклов…
То есть делаем бесконечный цикл… кучу заданий по нему…
А потом такие… что? вам нужно из него выйти… ничего нет проще! if ла ла ла then break.
Я прямо в шоке был…
Ну это так… не знал где высказаться по этой теме, а к психиатору по этому поводу в России ходить не принято 🙂
Какие впечатления от CodeCombat?
ответил вот здесь http://coolcode.ru/forums/topic/vopros-ot-newton/
Как вариант:)
мне не очень нравиться… 🙁 , задание: «Дан целочисленный массив размера N»
А в решении, как такого го массива никогда не существует… вопрос как интерпретировать слово «дан». 🙂