Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Igor
Сообщений: n/a
#1

Ошибки в программе - C++

19.12.2006, 09:59. Просмотров 1506. Ответов 0
Метки нет (Все метки)

Уважаемые, помогите найти ошибки в программе (задачка из института):
Ниже приведен алгоритм «атомарной» функции, которая меняет местами верхние значения в двух стеках. Если один из стеков пуст, то второй не должен изменяться. В функцию никогда не передаются указатели на один и тот же стек.

Код
Void AtomicSwap(Stack *s1, Stack *s2) {
  Int v1, v2, rez;
  s1->lock.Acquire();
  rez=s1->Pop(&v1);
  if (rez==OK) {
       s2->lock.Acquire();
       rez=s2->Pop(&v2);
       if (rez==OK) {
              s2->Push(v1);
              s1->Push(v2);
              s2->lock.Release();
              s1->lock.Release();
}
  }
}
:confused:
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2006, 09:59     Ошибки в программе
Посмотрите здесь:

Ошибки в программе C++
C++ Ошибки в программе
C++ Ошибки в программе
Ошибки в программе C++
Ошибки в программе С++ C++
Ошибки в программе C++
Ошибки в программе C++
C++ Ошибки в программе
C++ Ошибки в программе
C++ Ошибки в программе
Ошибки в программе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru