IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Исправьте программу.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Проверьте на правильность программу!Где тут ошибка в ней?Напиши где и исправте программу пожалуйста!
вот условия--------
Составить программу для определения среднего роста женщин и определения людей одинакового роста в группе.

Type name=(Anya,Valya,Genya,Petya,Sasha,Tanya,Shura,Yura);
dannye=record
pol:(male,female);
zrist:140..200;
end;
gruppa=array[name]of dannye;
var gr:gruppa;
k:name;x:real;
f1,f:text;
procedure serzrist(var x:real);
var n:name;
s:word;
begin
x:=0;s:=0;
for n:=Anya to Yura do
if gr[n].pol=female then begin
x:=x+gr[n].zrist;s:=s+1;end;
x:=x/s;end;
function odnakzrist:boolean;
var n,n1:name;zrist:140..200;
f:boolean;k1:integer;
begin for n:=Anya to Yura do
zrist:=gr[n].zrist;f:=false;k1:=0;
for n1:=Valya to Yura do
if zrist=gr[n1].zrist then begin
k1:=k1+1;f:=true;end;
odnakzrist:=f;
end;
begin
for k:=Anya to Yura do begin
if k in [Anya,Valya,Tanya]then gr[k].pol:=female
else gr[k].pol:=male;
readln(gr[k].zrist);
end;
serzrist(x);
writeln(odnakzrist,x);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


Во первых, приведем Ваш код в порядок



type
name = (Anya, Valya, Genya, Petya, Sasha, Tanya, Shura, Yura);
dannye = record
pol: (male, female);
zrist: 140..200;
end;
gruppa = array[name] of dannye;

var
gr: gruppa;
k: name;x: real;
f1, f: text;

procedure serzrist(var x: real);
var
n: name;
s: word;
begin
x := 0;s := 0;
for n := Anya to Yura do
if gr[n].pol = female then
begin
x := x + gr[n].zrist;
s := s + 1;
end;
x := x / s;
end;

function odnakzrist: boolean;
var
n, n1: name;
zrist: 140..200;
f: boolean;k1: integer;
begin
for n := Anya to Yura do
zrist := gr[n].zrist;
f := false;
k1 := 0;
for n1 := Valya to Yura do
if zrist = gr[n1].zrist then
begin
k1 := k1 + 1;
f := true;
end;
odnakzrist := f;
end;

begin
for k := Anya to Yura do
begin
if k in [Anya, Valya, Tanya] then
gr[k].pol := female
else
gr[k].pol := male;
readln(gr[k].zrist);
end;
serzrist(x);
writeln(odnakzrist, x);
end.



Теперь становится ясно, что на строке
 for n := Anya to Yura do
zrist := gr[n].zrist;

Ваш зрист хранит возраст Юры. Зачем Вам возраст Юры??
Получается, что вы сравниваете возраста других только с возрастом юры. Это пичаль((

Зачем, Вы используете переменную k1?? т.е. не используете??

Сообщение отредактировано: @nto$ka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 3:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name