Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82

Один и тот же код, но работает по разному

10.05.2014, 12:54. Показов 1840. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Один и тот же код но работает по разному.
Если запускать код по шагам отрабатывает на все 100%, а если "не по-шагам", то есть запустить exe и работаем в программе, то она не правильно работает.
(если кому интересно, что за программа, то это цепи Маркова с исследованием финального распределения с визуальным приложением в виде игрового автомата(было скучно вот и игровой автомат и пририсовал))
если быть точнее то в этом куске программа "не по-шагам" работает не правильно:
C++
1
2
3
4
5
6
for(i=0;i<5;i++)
             {
                 button1_Click(sender,e);
                 button2_Click(sender,e);
                 ...
             }
есть предположение, что компилятор по разному компилирует(по шагам и "не по-шагам")...
Если у кого есть какие-нибудь мысли по этому поводу буду рад услышать!)
Заранее Спасибо!)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2014, 12:54
Ответы с готовыми решениями:

Один и тот же код по разному работает
Доброго времени суток, уважаемые товарищи! Решил написать код, заполняющий диагональ двумерной матрицы единицами, а остальное - нулями....

Один и тот же код работает по-разному
Составила программу, программа работает, выдаёт верное решение: var n,i,j,k,r:integer; min:arrayof integer; begin readln(n); if...

Один и тот же код на Си и Паскале работает по-разному!
Задача: найти в массиве наидлиннейшую цепочку отрицательных элементов, вырезать её и вставить в конец массива. Нашел тут такой код на...

5
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
12.05.2014, 19:01  [ТС]
Пишу еще раз, для того чтобы поднять тему)
Просто интересно в чем прикол)
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
12.05.2014, 20:24
bobibu, можно немного больше кода, хотя бы этот метод и связанные с ним, так что-то не приходят идеи
0
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
12.05.2014, 22:12  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
button3_Click(System::Object^  sender, System::EventArgs^  e) 
{
    for(i=0;i<5;i++)
     {
         button1_Click(sender,e);
         button2_Click(sender,e);
         //красим panel на каждом i шаге по разному
     }
}
button1_Click(System::Object^  sender, System::EventArgs^  e) 
{
    //заполняем рандомно вектор B с условиями цепи Маркова
}
button2_Click(System::Object^  sender, System::EventArgs^  e) 
{
    proizvedenieVector();   //умножение возведённой матрицы A^n и вектора B
}
код в 500 строк разумеется кидать нет никакого смысла, но вот так кратенько у меня работает так)
из всех эспериментов, я понял то что компилятор не считает нужным "менять рандомный вектор"
но вот эта строка присутствует разумеется:
C++
1
srand((unsigned) time(NULL));
вообщем, решил сделать проверку, решил посмотреть какие векторы у меня получаются в итоге после button2_Click:
по шагам - разные векторы(тут правильно, соответственно при маленькой степени n, при больших степенях будут уже одинаковые векторы)
"не по-шагам" - одинаковые векторы(тут не правильно)

работаю в VS 2008
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
13.05.2014, 11:22
Тот код, что вы привели почти ничего не проясняет, ну да ладно.
Раз код зависит от
C++
1
srand((unsigned) time(NULL));
во время выполнения скомпилированной программы этот код генерирует одинаковые числа, так как "seed" (это параметр в методе: (unsigned) time(NULL)) не успевает измениться.
При выполнении кода в отладке (это вы подразумеваете под словом "по-шагам"?) time(NULL) успевает измениться, пока вы переходит от строки к строке и случайные числа генерируются разные.
1
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 82
13.05.2014, 11:41  [ТС]
C++
1
srand((unsigned) time(NULL));
он у меня находился в
C++
1
button1_Click(sender,e);
получается он у меня постоянно обновлялся и не успевал изменяться)
tezaurismosis, спасибо!)
закинул srand((unsigned) time(NULL)) в Form1_Load(), теперь все норм)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2014, 11:41
Помогаю со студенческими работами здесь

Почему в WEB приложении и в обычном один и тот же код по разному работает?
static Boolean Auth(String data) { String dbURL = &quot;jdbc:mysql://192.168.0.150:3306/SBP_db&quot;; String username...

Один и тот же код выполняется по-разному
имеется код если его выполнять в visual studio 2010 то он выполняется по разному, иногда выводит flag = false flag = false а...

Один и тот же рекордсет - но работает по разному
Один и тот же рекордсет - но работает по разному. В чем причина ? Cм. текст ниже. cn.CursorLocation = adUseClient cn.Open...

Один и тот же внешний жесткий диск по разному работает на двух похожих ноутбуках
Один и тот же внешний жесткий диск по разному работает на двух похожих ноутбуках. От чего это может быть? На одном ноутбуке Asus он...

Text-align: justify один код работает по разному
Имеется код, выравнивающий гориз-е меню с помощью text-align: justify. http://test-code.zzz.com.ua/ http://test-code.zzz.com.ua/1/ По...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru