Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Где не правильно (простенькая прога)

269
25 ноября 2005 года
Greenering
892 / / 04.02.2003
задачка-то простенькая, но есть маленький казус.
Объясню что прога делает:
Вводим 4 числа по четыре знака
Затем каждый знак закидываем в вектор начинаю с конца.
Сообсно - все! далее простейшие мат. операции проводим
Затык: когда заносим в сектор первое число вдрг откуда не возмись поямился ноль? Откуда? Как убрать?
Код:
var x,a,b:longint;
ab:array[1..4] of longint;
fc:array[1..17] of integer;

begin
writeln('Kart number=');
write('1=');
readln(ab[1]);
write('2=');
readln(ab[2]);
write('3=');
readln(ab[3]);
write('4=');
readln(ab[4]);

b:=4;
[color=red]тут закидываем знаки в вектор [/color]
for a:=16 downto 1 do
  begin
   fc[a]:=ab mod 10;
   ab:=ab div 10;
   writeln('fc=',fc[a],'  ab=',ab);
   if (a=12)or(a=8)or(a=4) then dec(b);
  end;

for a:=1 to 16 do
write(fc[a]);
a:=16;
x:=0;
for b:=1 to 8 do
begin
fc[a]:=fc[a]*2;
a:=a-2;
end;
writeln;
for a:=1 to 16 do
write(fc[a]);
for a:=1 to 16 do
x:=x+fc[a];
writeln('x=',x);
readln;
end.

тест
Допустим вводим 1111 1111 1111 1111
по идее должно быть
в векторе
1111111111111111
А получается
1111111111101111
^
откуда?
292
25 ноября 2005 года
Matush
726 / / 14.01.2004
if (a=13)or(a=9)or(a=5) then dec(b);
2
25 ноября 2005 года
squirL
5.6K / / 13.08.2003
Танюша! ошибка вылезает при a=12. проверку надо делать не после прохода цикла, а до.

 
Код:
for a:=16 downto 1 do
  begin
   if (a=12)or(a=8 )or(a=4) then dec(b);
   fc[a]:=ab mod 10;
   ab:=ab div 10;
   writeln('fc=',fc[a],'  ab=',ab);
  end;
269
25 ноября 2005 года
Greenering
892 / / 04.02.2003
Мдя, а ларчик просто открывался
15K
06 декабря 2005 года
Fudduck
2 / / 06.12.2005
Как новенькому врубите меня в дело... почему всё так! (P.S. научите меня програмированию... до профессионала.. пока сам изучаю Vb что мне дальше лучше учить?
5
08 декабря 2005 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by Fudduck
Как новенькому врубите меня в дело... почему всё так! (P.S. научите меня програмированию... до профессионала.. пока сам изучаю Vb что мне дальше лучше учить?


Чего тут объяснять? Обычная магия дебаггера :)

Брось VB и изучай C++ или Delphi

Цитата:

Настоящий Программист не программит на Бейсике. И вообще ни один программист не программит на Бейсике после достижения половой зрелости

292
10 декабря 2005 года
Matush
726 / / 14.01.2004
Цитата:

Настоящий Программист не программит на Бейсике. И вообще ни один программист не программит на Бейсике после достижения половой зрелости



Хорошая цитатка...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог