Я написал программу в Pascal ABS NET, суть которой такова, что нужно человеку сначала...

0 голосов
43 просмотров

Я написал программу в Pascal ABS NET, суть которой такова, что нужно человеку сначала ввести n чисел, после чего программа должна сложить данные числа и эту сумму поделить на сумму чисел в числе,которое получилось в первой сумме, когда человек вводил числа.
Формула: \frac{ sum_{1} }{sum_{2}}
где sum1= сумму n чисел, которые ввёл человек
sum2=сумму чисел в числе, получившееся в результате сложения чисел, вводимых человеком.
Программа ниже!!

var
a,x,n,y,i,s,sum,b: integer;
begin
n := 7;
sum := 0;
for y := 1 to n do
begin
write(y, '-е число = ');readln(b);
sum := sum + b
end;
a:=sum;
readln( a ); x:=a;
s:=0;
while ( x<>0 ) do
begin
s := s + (x mod 10);
x := x div 10;
end;
case round(a/s) of
1,5,7,9,11,13,15: writeln('Выпадет: Красное');
2,4,6,8,10,12,14,16: writeln('Выпадет: Чёрное');
3: writeln('Выпадет: Зелёное');
else writeln('Выпадет: Неизвестный цвет');
end;
readln;
end.


Когда я её запускаю, мне сразу же выдаёт программа поля:
1-e число=
Потом 2-е число=
и так далее.
После того как я заполняю эти поля числами, ничего не происходит, хотя должна программа в итоге выдать результат последнего действия, где нужно разделить сумму чисел на сумму цифр суммированного числа. Помогите пожалуйста!!! ДАЮ 100 БАЛЛОВ!


Информатика (2.8k баллов) | 43 просмотров
0

ОО, когда я убрал, мне выскачил неизвестный цвет

0

x:=a;

0

x := x div 10;

0

опять перезапись

0

а не ладно, здесь ок

0

я не знаток паскаля, но у вас некоторые операции могут возвращать дробные числа, но переменные которым они присваиваются целого типа, итого, что случится?

0

Я понял в чём я ошибся

0

Теперь всё полностью работает!!))

0

Спасибо вам огромное

0

я к тому что возможно вам стоит убрать округдение числа, тк у вас дробных чисел нету

Дан 1 ответ
0 голосов

В следующий раз внимательно смотрите за переменными и что вы им присваиваете и желательно вам разобратся в типах данных, это основы основ.

(4.2k баллов)