Цитата
Составить программу нахождения среднего арифметического значения цифр заданного натурального числа N (1<N<1000000000).
Значит скажем так.
Есть у меня такая(ну, почти) работающая програма, но написано очень коряво, ибо давно и на тупую голову.
Если чо поймешь, то можешь взять с нее куски:
Код
program suma_cifr_4isel_ta_porivnyannya_sum;
var n1,s1,n2,s2:longint;
a1,a2:byte;
label xxx1, sp1, xxx2, sp2;
begin
writeln ('Rozrahunok sum cifr dvoh 4isel ta porivnyannya');
repeat
write ('Vvedit" 4isla A,B (4erez probil) - ');
readln (n1,n2);
if (n1<0) or (n2<0) then writeln ('Dani vvedeno nepravilno');
until (n1>=0) and (n2>=0);
s1:=0;
xxx1: begin
a1:=n1 mod 10;
s1:=s1+a1;
n1:=n1 div 10;
if n1>10 then goto xxx1;
if n1<10 then goto sp1;
sp1:
s1:=s1+n1;
writeln;
writeln('Suma cifr 4isla A = ',s1);
end;
s2:=0;
xxx2: begin
a2:=n2 mod 10;
s2:=s2+a2;
n2:=n2 div 10;
if n2>10 then goto xxx2;
if n2<10 then goto sp2;
sp2:
s2:=s2+n2;
writeln('Suma cifr 4isla B = ',s2);
end;
writeln;
write (' Porivnyannya:');
if s1-s2<0 then write (' A < B') else
if s1-s2=0 then write (' A = B') else
write (' A > B');
readln
end.
Главнгое чо хочу сказать, так это то что
Код
while z>=10 do {'здесь идёт вычисление из скольки цифр состоит число'}
begin
z:=z div 10;
k:=k+1;
end;
по моему не правиьно организовано, см. мою прогу→ там я использу. mod 10 чтобы получить последнюю цифру числа.
-=еще раз извиняюсь за корявую програму- нету времени щас переделывать=-