|
Платные хостинги
Раскрутка сайта
Книги по программированию
непонятный процесс сумирования
- Народ, возникла такая проблема:sumin:= 0;for l:= 1 to kolvo do writeln(ms[l]);for l:= 1 to kolvo do inc(sumin, ms[l]);writeln('sumin= ',sumin); writeln;на экране100sumin= 2200sumin= 4и т.д.Пока этот фрагмент был в основной программе, было все нормально. Когда перенес в процедуру появился такой глюк. Кто-нить знает и как с этим бороться.Разделить на 2 нельзя, могут придраться.
- А что именно? что за ошибка....если всё нормально то и в процедуре должно быть всё ок...мож синтаксит неправильный?Код procedure summa;beginsumin:= 0;for l:= 1 to kolvo do writeln(ms[l]);for l:= 1 to kolvo do inc(sumin, ms[l]);writeln('sumin= ',sumin); writeln;end;beginsumma;end;highlightSyntax('delphiOGQ1Mm','delphi');так?
- Посмотри где и как объявляются переменные...
- У меня такой же глюк был в Delphi: в переменную записывал указатель, через некоторое время он сам менялся на другой, хотя я к нему нигде не обращался. Так и остался он не понятым...
- 1) Отключи оптимизацию2) Не объявляй глобальными переменными модуля - только локальными или полями класса и всё будет нормально
- Понял где возникла ошибкаПри объявлении переменныхms: array [1..1] of word;. . . (kolvo <>0)sumin:= 0;for l:= 1 to kolvo do writeln(ms[l]);for l:= 1 to kolvo do inc(sumin, ms[l]);writeln('sumin= ',sumin); writeln;на экране100sumin= 2200sumin= 4по ходу программы значения заносились в ms[2] и т.д. Но почему паскаль не выругался при внесении переменных в несуществующие ячейки и почему вывел нули, при обращении к ним не понятно.
- Вероятно у тебя отключена опция компилятора проверки выхода за пределы диапазона
- В коде программы написать:{$R+} - включить проверку{$R-} - выключить проверку
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|