В симфонический оркестр приняли на работу трёх музыкантов: Брауна, Смита и Вессона, умеющих играть на скрипке, флейте, альте, кларнете, гобое и трубе.
Известно, что:
Смит самый высокий;
играющий на скрипке меньше ростом играющего на флейте;
играющие на скрипке и флейте и Браун любят пиццу;
когда между альтистом и трубачом возникает ссора, Смит мирит их;
Браун не умеет играть ни на трубе, ни на гобое.
Каждый музыкант владеет двумя инструментами и эти инструменты не повторяются. Т.е., если один музыкант умеет играть, например, на скрипке и гобое, то остальные этими инструментами не владеют.
На каких инструментах играет Смит?
Выберите два варианта ответа
Флейта
Скрипка
Труба
Альт
Кларнет
Гобой
program nomerstolb;
Var a: array[1..50,1..50] of integer;
b: array[1..50] of integer;
i, j, m, n, max, jmax: integer;
Begin
Write(‘сколько строк?’); Readln(m);
Write(‘сколько столбцов?’); Readln(n);
For i:=1 to m do
begin
For j:=1 to n do
begin
write(‘a[‘,i,’,’,j,’]=’); readln (a[i,j]);
end;
for j:=1 to m do
begin
b[j]:=0;
for i:=1 to n do
if a[i,j]<0 then b[j]:=b[j]+1;
end;
max:=b[1]; jmax:=1;
For j:=2 to n do
begin
if b[j]>max then
begin
max:=b[j]; jmax:=j;
end;
end;
writeln(‘Наибольшее количество отрицательных элементов в ‘;jmax ; ‘столбце’);
end;
end.
9. Упорядочить каждый столбец матрицы по возрастанию. Массив размером МхN, элементы которого задаются датчиком случайных чисел на интервале [-17;26].
program porydok;
Var a: array[1..50,1..50] of integer;
N = 3;
M = 4;
Type
Mass = array[1..N,1..M] of integer;
///Функция вычисления среднего арифметического элементов массива
Function Sr(A:Mass):real;
Var
i,j:integer;
Begin
result:=0;
For i:= 1 to N do
For j:= 1 to M do
result:=result+A[i,j];
result:=result/(M*N);
End;
Var
A:Mass;
B:array[1..N,1..M-1] of integer;
i,j,jMax,k:integer;
S,MaxS:real;
Begin
Randomize;
WriteLn('Исходная матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
WriteLn('Среднее арифметическое её элементов: ',Sr(A));
WriteLn;
MaxS:=0;
jMax:=1;
For i:= 1 to N do
MaxS:=MaxS+A[i,1];
For j:= 2 to M do
Begin
S:=0;
For i:= 1 to N do
S:=S+A[i,j];
if S > MaxS then
Begin
jMax:=j;
MaxS:=S;
End;
End;
k:=0;
For j:= 1 to M do
if jMax <> j then
Begin
k:=k+1;
For i:= 1 to N do
B[i,k]:=A[i,j];
End;
WriteLn('Новая матрица:');
For i:= 1 to N do
Begin
For j:= 1 to M-1 do
Write(B[i,j]:3,' ');
WriteLn
End;
End.
Пример работы программы:
Исходная матрица:
10 6 10 2
3 5 -3 8
8 2 0 -9
Среднее арифметическое её элементов: 3.5
Новая матрица:
6 10 2
5 -3 8
2 0 -9