![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
arhimag |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
подскажите, почему не перемножает?
Код const maxlong=200; Type long=array[0..maxlong] of longint; procedure readlong(var a: long); var s:string; i:longint; begin readln(s); for i:= 1 to length(s) do a[length(s)-i]:=ord(s[i])-ord('0'); for i:= length(s) to maxlong do a[i]:=0; end; Procedure writelong(a:long); var i,j:longint; begin j:=0; for i:=0 to maxlong do if a[i]>0 then j:=i; for i:=j downto 0 do write (a[i]); end; procedure addlong(a,b:long; var c:long); var i,s,p:longint; begin p:=0; for i:=0 to maxlong do begin s:=a[i]+b[i]+p; if s>=10 then begin c[i]:=s-10; p:=1; end else begin c[i]:=s; p:=0; end; end; end; procedure attlong(a,b:long; var c:long); var i,s,p:longint; begin p:=0; for i:=maxlong downto 0 do begin s:=a[i]-b[i]-p; if s<0 then begin c[i]:=s+10; p:=1; end else begin c[i]:=s; p:=0; end; end; end; procedure check(a,b:long; var result:longint); var i: integer; begin result:=0; for i:= 0 to maxlong do begin If a[i]>b[i] then begin result:=1; exit; end else if a[i]<b[i] then begin result:=-1; exit; end else result:=0; end; end; Procedure proiz(a,b:long; var c:long); var p,r,n,i, j, m,z : longint; flag:boolean; begin flag:= false; p:=0; for i:= 0 to maxlong do begin r:=p+(a[i]*b[i]); for i:= 0 to 9 do if (r < (i*10)) and (Flag= false) then begin Flag:=true; z:=i-1; end; c[i]:=r-(z*10); p:=Z; flag:=false; end; end; var a,b, c:long; i:longint; begin readlong(a); readlong(b); proiz(a,b,c); writelong(c); writeln; end. -------------------- Чего хочет женщина – того хочет Бог
|
![]() ![]() |
![]() |
Текстовая версия | 30.07.2025 20:51 |