1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
помогите решить задачу!, Нужно решить задачу с помощью процедуры и функции.
В общем надо решить следующую задачу: Известно, что в следующем фрагменте программы массив матрица содержит оценки студентов группы, фамилии которых перечислены в типе фамилий
type fam=(Ivanov,Petrov,Sidorov); pred=(Algebra,Russkii,Informatika); var matr:array[fam,pred] of integer
Необходимо выяснить сколько студентов группы имеют средний балл, наименее всего отклоняющийся по абсолютному значению от среднего балла всей группы. Не могу понять как решать с помощью процедуры и функции.Помогите!!!
Может, мы все-таки увидим, как все эти фрагменты были собраны в одну программу? Или нам надо собрать самим, убедиться что ошибки нет (при правильной последовательности ее не будет) и опять затеять обсуждение на полсотни постов по методу "испорченный телефон"?
P. S. Стоп. У тебя тип называется Pred? Напрасно. Уже есть функция с тем же именем, и вполне возможно, что у тебя просто конфликт между именами типа и функции.
Может, мы все-таки увидим, как все эти фрагменты были собраны в одну программу? Или нам надо собрать самим, убедиться что ошибки нет (при правильной последовательности ее не будет) и опять затеять обсуждение на полсотни постов по методу "испорченный телефон"?
P. S. Стоп. У тебя тип называется Pred? Напрасно. Уже есть функция с тем же именем, и вполне возможно, что у тебя просто конфликт между именами типа и функции.
type fam=(Ivanov,Petrov,Sidorov); pred=(Algebra,Russkii,Informatika); matr=array[fam ,predm] of real; var a:matr;
function sred(Student: fam): real; var i: predm; s: real; begin s:= 0; for i:= Low(predm) to High(predm) do s:= s + a[Student,i]; sred:= s/(Ord(High(predm))+1) end;
function Total( a: matr):real; var i: fam; s: real; begin s:= 0; for i:= Low(fam) to High(fam) do s:= s +sred(i); // i is ot type fam here Total:= s/(Ord(High(fam))+1) end;
function MinDev (a:matr):real; var i: fam; s: real; MinDev:real; begin MinDev:= High(integer); // MaxDeviation îïèøè êàê real for i:= Low(fam) to High(fam) do if Abs(sred(i)-Total)<MinDev then begin MinD:= Abs(sped(i)-Total); Count:= 1 end else if Abs(sred(i)-Total)<1e-8 then Inc(Count) WriteLn(Count,' студентов имеют минимальное отклонение от греднего балла группы'); end.
я знаю,что скорее всего тут миллион ошибок.помогите пожалуйста((