Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2014, 22:31   #1
tox14
 
Регистрация: 23.04.2014
Сообщений: 6
По умолчанию Ошибка в переводе из Delphi в C++

Я перевожу программу из языка Delphi в С++. Вроде, всё переделал, а она всё равно не хочет работать так, как в Delphi...Не считает результаты в конце...Просто ставит везде 0. Помогите разобраться.

Проект С++.rar

Проект Delphi.rar

2.JPG

1.JPG
tox14 вне форума Ответить с цитированием
Старый 24.04.2014, 08:17   #2
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

А где в проекте С++ Form1?
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 24.04.2014 в 08:20.
Krok27 вне форума Ответить с цитированием
Старый 24.04.2014, 15:28   #3
tox14
 
Регистрация: 23.04.2014
Сообщений: 6
По умолчанию Проект С++

Вот полный проект С++.
Проект С++
tox14 вне форума Ответить с цитированием
Старый 24.04.2014, 15:57   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Код:
void podschet(pat a, int& s)
Когда ты что нить передаешь в функцию по значению, то создается локальная копия переданного элемента. Поэтому сумма значений присваивается локальной копии переменной, кот. при выходе из функции уничтожается.

Что бы изменить значение аргумента ф-ции, перменную нужно передать по ссылке.
Если ты хочешь изменить объект по указателю, то нужно передать указатель на указатель на объект.

Фуу... Многа букав, еле асилил.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 24.04.2014, 17:25   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
переданного элемента.
...в стеке...
Цитата:
при выходе из функции уничтожается.
Выталкивается из стека и бзвозвратно, теряется.
Цитата:
то нужно передать указатель на указатель на объект.
Совершенно верно. Но, для новичка это как барабанная дробь в Анголе.

Поясняю. У вас сть список целей. Это указатель. Выбираем цель, меняются её координаты. Но, мыполюзуемся одшим списком целе. Координаты локальной цели и будут указателем, на указатель.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 24.04.2014 в 17:34.
Smitt&Wesson вне форума Ответить с цитированием
Старый 24.04.2014, 21:06   #6
tox14
 
Регистрация: 23.04.2014
Сообщений: 6
По умолчанию Спасибо большое!

Парни, спасибо большое! Всё заработало! Очень вам благодарен. Столько сидел, не мог разобраться, почему не пашет! Спасибо!

P.S. Подскажите ещё, пожалуйста, можно ли этот код как-нибудь меньше сделать...А то слишком много получилось
tox14 вне форума Ответить с цитированием
Старый 25.04.2014, 08:26   #7
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Цитата:
Сообщение от tox14 Посмотреть сообщение
Парни, спасибо большое! Всё заработало! Очень вам благодарен. Столько сидел, не мог разобраться, почему не пашет! Спасибо!

P.S. Подскажите ещё, пожалуйста, можно ли этот код как-нибудь меньше сделать...А то слишком много получилось
Можно. Но это надо перелопачивать весь код. Ето время и деньги соответственно.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 25.04.2014, 17:29   #8
tox14
 
Регистрация: 23.04.2014
Сообщений: 6
По умолчанию Печально

Печально...
Спасибо большое.
tox14 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощ в переводе программы из Delphi в Turbo Pascal Biocid Паскаль, Turbo Pascal, PascalABC.NET 4 11.12.2012 09:33
Ошибки в переводе... munthrekosh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.12.2011 08:45
Ошибка в переводе кода Waqq Помощь студентам 1 07.11.2011 08:20
Ошибка в переводе кода с Turbo Pascal на Fortran abit-2010 Помощь студентам 0 05.07.2011 22:55
Ошибка при переводе числа Marsel737 Общие вопросы Delphi 4 06.12.2009 12:56