Есть ответ 👍

Написать программу при поступлении в вуз абитуриенты, получившие “2” на первом экзамене, ко второму не допускаются. в массиве записаны все оценки экзаменующихся полученные на первом экзамене. подсчитать сколько студентов сдали первый экзамен на “5”, на “4”, на “3”, и сколько не допущено ко второму экзамену.

117
401
Посмотреть ответы 2

Ответы на вопрос:


// 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

Популярно: Информатика