Макс алгоритм поиска

Уважаемые эксперты и энтузиасты!

Я хотел бы решить следующую проблему: у меня есть массив натуральных чисел. Я хотел бы найти их максимум.

Но я должен показать свое решение со структурой, вот так http://www.testech-elect.com/pls/images/casetool2.jpg

и я должен сделать это с помощью midifieing алгоритма суммирования, это означает, что мне нужно midifie структурам и постусловию http://cfhay.inf.elte.hu/~hurrycane/programozas/programming_theorems.pdf

Основные горизонтальные линии должны быть сохранены, но вы можете изменить все остальное. Можете ли вы сказать мне измененное постусловие без рекурсии? Этого будет достаточно. Я могу сделать структуру, если я ее получу. Заранее спасибо.

1 ответ

Решение

Рассмотрим C++ код для вашего алгоритма:

max = a[0]; ind = 0;
for (int i = 1; i < n; i++)
{
    if (a[i] > max)
    {
        max = a[i];
        ind = i;
    }
}

Для приведенного выше алгоритма мы бы имели:

  1. StateSpace = (a: N *, n: N, ind: N, max: N)
  2. Предварительное условие = (a = a ' / \ n = длина (a))
  3. Постусловие = (Предварительное условие / \ (max, ind) = MAX (i = 0, n) a [i])
Другие вопросы по тегам