БлогNot. При фурсенках не объединяются даже массивы

При фурсенках не объединяются даже массивы

Приволок человек вот такое заведомо неправильное решение (классическая задача об объединении 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 просмотра]


теги: ошибка алгоритм образование

К этой статье пока нет комментариев, Ваш будет первым