Написать программу при поступлении в вуз абитуриенты, получившие “2” на первом экзамене, ко второму не допускаются. в массиве записаны все оценки экзаменующихся полученные на первом экзамене. подсчитать сколько студентов сдали первый экзамен на “5”, на “4”, на “3”, и сколько не допущено ко второму экзамену.
117
401
Ответы на вопрос:
// pascalabc.net 3.3, сборка 1579 от 18.11.2017 // внимание! если программа не работает, обновите версию! begin var a: =arrrandom(readinteger('n='),2,5); a.println; var b: =a.groupby(t-> t).select(t-> (t.key,t.(t-> t[0]) .select(t-> t[1]).toarray; writeln('сдано на 5: ',b[3]); writeln('сдано на 4: ',b[2]); writeln('сдано на 3: ',b[1]); writeln('не допущено: ',b[0]) end. пример n= 20 4 4 3 5 4 5 2 4 4 4 5 4 3 3 4 2 3 2 2 2 сдано на 5: 3 сдано на 4: 8 сдано на 3: 4 не допущено: 5
1. создаем файл matint.pas следующего содержания: // pascalabc.net 3.1, сборка 1230 от 27.04.2016 unit matint; interface type matrix=array[,] of integer; function matcreate(m,n: integer): matrix; procedure matprint(a: matrix; w: integer); procedure matmax(a: matrix; var x,imax,jmax: integer); implementation function matcreate(m,n: integer): matrix; // создает матрицу и инициализирует её нулями begin setlength(result,m,n); end; procedure matprint(a: matrix; w: integer); // выводит матрицу, отводя w позиций под элемент begin var n: =length(a,1)-1; for var i: =0 to length(a,0)-1 do begin for var j: =0 to n do write(a[i,j]: w); writeln end end; procedure matmax(a: matrix; var x,imax,jmax: integer); // возвращает значение максимального элемента и его координаты begin imax: =0; jmax: =0; var n: =length(a,1)-1; for var i: =0 to length(a,0)-1 do for var j: =0 to n do if a[i,j]> a[imax,jmax] then (imax,jmax): =(i,j); inc(imax); inc(jmax); x: =a[imax-1,jmax-1] end; end. 2. компилируем файл, получая библиотеку matint.pcu 3. пишем основную программу: // pascalabc.net 3.1, сборка 1230 от 27.04.2016 uses matint; begin var a: =matcreate(5,8); var n: =length(a,1)-1; for var i: =0 to length(a,0)-1 do for var j: =0 to n do a[i,j]: =random(-50,50); matprint(a,4); var irow,jcol,max: integer; matmax(a,max,irow,jcol); writeln('максимальный а[',irow,',',jcol,']=',max) end. тестовое решение 11 -16 11 16 23 -4 -17 -34 -12 -5 20 9 16 47 43 17 -46 -26 47 -40 12 -31 -25 13 -7 39 -20 26 11 -19 32 -15 45 -10 -28 31 -46 -29 -29 -22 максимальный а[2,6]=47
Популярно: Информатика
-
1Серж111111111122.02.2020 04:30
-
ziksharof09.07.2022 21:56
-
Nikitanesh00078910.06.2021 15:38
-
GlendaRei12.05.2020 14:35
-
play123922.02.2023 00:08
-
sanelya216.02.2020 21:48
-
kotorosmax101.04.2022 06:43
-
trixi1989vv26.02.2020 20:13
-
TopGmaer10.01.2020 19:44
-
Student22316.10.2022 06:34