Re[24]: труд программера переоценен
От: SALar Россия http://blog.shumoos.com
Дата: 30.01.06 09:23
Оценка:
Здравствуйте, Pzz, Вы писали:
Можно я тоже вмешаюсь?

Pzz>Gorbatich wrote:

>> Давайте завершим наш спор. "Правильную" версию программы в студию!!!

Pzz>Ну вот, например:


int max_count(int * a, int size)
{
  int count = 0;

  if(size > 2)
  {
     for(int i = 0; i < size - 2; i++)
     {
        if(((a[i+1] - a[i]) > 0) && ((a[i+2] - a[i+1]) < 0))
          count++
     }
  }
  return count;
}

Будет работать неправильно. К сожалению, a[i+1] — a[i] > 0 не тождественно a[i] < a[i+1].
(То, что код не компилится, за ошибку не считаем — это компилятор отследит)
При прогоне теста:
{int a[3] = {-2147483648,20,-2147483648};
   if (max_count(a, 3) != 1) printf ("Test of min element fail\n");
}

Локальный максимум не будет посчитан.

2Pzz
А как вы оцените такое решение: http://forums.software-testing.ru/index.php?automodule=blog&amp;blogid=11&amp;view=showday&amp;d=23&amp;m=1&amp;y=2006
blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.