![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.04.2012
Сообщений: 6
|
![]()
известно,что в следующем фрагменте программы массив матрица содержит оценки студентов группы,фамилии которых перечислены в типе фамилия.
> type > фамилия=(Иванов,Просветкин,Ленин,Ми хайлов,Маслова,Юрьева,Беляев,Малаще нко,Нагайц ев,Семыкин). > предмет=(матанализ,алгебра,информат ика,история,матлогика,механика,педа гогика,диф уруравнения,статистика). > var > матрица: array[ фамилия,предметы ] of integer. Необходимо выяснить сколько студентов группы имеют средний балл, наименее всего отклоняющийся по абсолютному значению от среднего балла всей группы. помогите решить через процедуры и функции.вот,что у меня есть,проверьте.исправьте.а то она работает некорректно. type fam=(Ivanov, Prosvetkin, Lenin, Mikhaylov, Maslov, Yuryev, Belyaev, Malashenko, Nagaytsev, Semykin); pred=(matan, algebra, informatics, history, matlogica, mechanics, pedagogics, difururavneniye, statistics); matr=array[fam ,pred] of integer; var a:matr; Procedure vvodM(var a:matr); var j: pred; i:fam; begin randomize; for i:= Ivanov to Semykin do begin For j:=matan to statistics do begin a[i,j]:=random(4)+2; write( a[i,j]:3); end; writeln end; end; function sred(Student: fam): real; var j: pred; i:fam; s: real; begin s:= 0; for i:= Ivanov to Semykin do begin For j:=matan to statistics do begin s:= s + a[Student,j]; sred:= s/9 end; write(sred(i)) end; readln end; function TotalAverege(var a:matr):real; var j: pred; i:fam; s: real; begin s:= 0; for i:=Ivanov to Semykin do begin For j:=matan to statistics do begin s:= s +sred(i); TotalAverege:= s/9; end; write(TotalAverege(a)) ; end; readln end; Procedure MinDev (a:matr); var j: pred; i:fam; k:integer; begin k:=0; for i:=Ivanov to Semykin do begin For j:=matan to statistics do begin if TotalAverege(a)<>abs(TotalAverege(a )-sred(i))then k:=k+1; If k>0 then WriteLn(k,' студентов имеют минимальное отклонение от cреднего балла группы') else WriteLn(k,'Таких студентов нет'); end; end; end; begin setconsolecp(1251); setconsoleoutputcp(1251); vvodM(a); MinDev(a); readln end. Нужно еще сделать так.чтобы выводились все промежуточные действия.т е средний балл каждого ученика,общий средний балл.а только потом уже выводился ответ.помогите!!! |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 05.04.2012 в 23:04. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 05.04.2012
Сообщений: 6
|
![]()
Спасибо большое.Очень благодарна.только у меня вопрос.почему мы min := 100; берем?(
Последний раз редактировалось natik3; 05.04.2012 в 23:30. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текстовый файл.Средний балл студентов | Wild Angel | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 22.03.2012 16:41 |
определить средний балл каждого студента | Zzoyberg | Помощь студентам | 1 | 15.12.2011 20:21 |
Структуры. Опр. средний балл | toy | Общие вопросы C/C++ | 1 | 19.05.2010 08:49 |
Определить максимальное по абсолютному значению число | VeseloffS | Помощь студентам | 17 | 09.06.2009 23:39 |
Средний балл | KORT | Общие вопросы C/C++ | 3 | 27.02.2008 17:04 |