При фурсенках не объединяются даже массивы
Приволок человек вот такое заведомо неправильное решение (классическая задача об объединении 2 упорядоченных массивов в один), говорит, что из новой книги "Экзамен по информатике", затребовал книгу, посмотрел - и точно, не только этот алгоритм, а ещё примерно треть решений бредовы... фурсенковская вакханалия, выходные данные книги приводить не буду :(
Ну а "шедевр программирования", пожалуй, стоит привести (в код добавлен тест, на котором программа не работает):
{Из книги "экзамен по информатике" - неверное объединение двух упорядоченных массивов в один} const n=10; a: array [1..n] of integer = (1,2,3,5,10,11,13,20,21,22); b: array [1..n] of integer = (1,2,3,4,5,6,7,8,9,11); var c:array [1..2*n] of integer; i,k,m:integer; begin k:=1; m:=1; for i:=1 to 2*n do if a[m]<=b[k] then begin c[i]:=a[m]; inc(m); end else begin c[i]:=b[k]; inc(k); end; for i:=1 to 2*n do write (c[i]:3); reset(input); readln; end.
Где взять правильное решение? Так вот же, было на сайте.
Заодно и задачу поиска самых часто встречающихся элементов в массиве, которая тоже решалась в книге неправильно (!), добавил на сайт.
04.04.2012, 10:50 [9073 просмотра]