Четверг, 09.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Помогите исправить ошибку!!!
Dasha_SДата: Пятница, 21.03.2008, 07:42 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 7
Репутация: 0
Замечания: 0%
Статус: Offline
Очень нужна ваша помощь!!!!

Прогу набирала в турбо

Даны два числа P и H. Определить процент чисел меньше Р и больше Н относительно общего количества чисел. При вводе числа, равного Р или Н закончить работу.

a - вводимое число
Р и Н - введеные значения
n - общее количсетво введеных чисел
M - количество чисел, меньших Р
В - количество чисел, больших Н
КМ - процент чисел, меньших Р, относительно общего количества введенных чисел
КВ - процент чисел, больших Н относительно общего количества введенных чисел

program z;
var a,P,H, KM,KB:integer;
n,M,B:real;
begin
n:=0;
M:=0;
B:=0;
KM:=0;
KB:=0;
write ('P');
readln (P);
write ('H');
readln (H);
write ('a');
readln (a);
while (a<>P) or (a<>H) do не уверена, что правильно задано условие...
begin
n:=n+1
if a<P then
M:=M+1;
if a>H then
B:=B+1;
write ('a');
readln (a);
end;
KM:=(M/n)*100
KB:=(B/n)*100
указывает на эти строчки, ошибки не соответствия типов
writeln ('KM=',KM:4:2);
writeln ('KB=',KB:4:2);
end.

Заранее огромное спасибо!

Сообщение отредактировал Dasha_S - Пятница, 21.03.2008, 07:44
 
etcДата: Пятница, 21.03.2008, 15:38 | Сообщение # 2
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 1
Замечания: 0%
Статус: Offline
Ты пытаешься целым переменным присвоить вещественное значение. KM и KB обьяви как real.
 
AlexanderДата: Суббота, 22.03.2008, 01:51 | Сообщение # 3
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Во-первых я бы советывал использовать цикл с repeat/until. Во-вторых как-то вы странно в проценты переводите smile . Смотрите:
Всего у нас n чисел, соответственно n- это 100%.
Наша задача узнать сколько процентов от n составляет M. Соответственно нам нужно узнать сколько процентов составляет одно число. Для этого нужно просто разделить сто на n. Ну а поскольку у нас этих чисел M, то нужно то, что получилось на M. Итого: KM=(100/n)*M.
Ну последнее:
Quote
n - общее количсетво введеных чисел
M - количество чисел, меньших Р
В - количество чисел, больших Н

Количество чисел в любом случае будет натуральным числом, поэтому используйте тип BYTE или WORD, но никак не real.


Скажем дружно- нафиг нужно!
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;