В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Biglok
Biglok
11.03.2020 11:04 •  Информатика

Задача А. Соревнование. В некоторых видах спортивных состязаний выступление каждого спортсмена независимо оценивается несколькими судьями, затем из всей совокупности оценок удаляется наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Если наиболее высокую оценку выставили несколько судей, то из совокупности оценок удаляется только одна такая оценка, аналогично поступают и с наиболее низкой оценкой. Дано: натуральное n>4, действительные положительные числа а1, а2,…аn. Считая, что числа a1, а2, аn - это оценки, выставленные судьями одному из участников соревнований, определить ту оценку, которая пойдет в зачет этому спортсмену (с точностью 2 знака после запятой).
Формат входных данных
Вводится натуральные числа m (m<100) количество спортсменов и n (n<100) количество судей и выставленных оценок. Далее идут фамилии спортсменов и выставленные оценки (a1, а2, аn не большее 1000).
Формат результата
Выводится m фамилий спортсменов и оценки, которые пойдут в зачет этим спортсменам.
Примеры
Входные данные Результат работы
6 10
7 8 10 4 5 10 4 8 5 6
7 8 10 5 5 4 8 1 2 3
8 8 8 8 9 9 9 9 6 7
7 7 7 7 5 5 5 6 6 6
8 8 8 10 2 5 8 9 6 10
4 7 8 4 5 6 1 0 2 3 10
6.62
5.25
8.25
6.12
7.75
5.88

6 5
7 8 10 4 5
7 8 10 5 5
8 8 9 9 9
7 7 7 5 5
8 10 2 5 8
4 7 8 4 5
6.67
6.67
8.67
6.33
7.00
5.33

Показать ответ
Ответ:
art1610
art1610
04.03.2023 04:48
В начале мы создаем массив случайных элем.
Потом работаем с ним.
Нам нужны 2 переменные:
1 - переменная, для сохранения результата (номера).
2 - переменная флажок.
Мы обходим весь массив ПО СТОЛБЦАМ.
В начале обхода конкретного столбца переменной флажка присвоим 1.
Сравниваем текущий элемент столбца с последующим,
если они не равны то ставим флажок 0

Код:
//Размерность массива
const n = 3;
//Сам массив
var 
ar : array[1..n,1..n] of integer;
//Переменные для работы с массивом
var 
i,j : integer; 
//Переменные для поиска столбца
//f - переменная флажок, которая по окончанию обхода столбца будет
//показывать одинаковы ли элементы в нем
//numb - переменная, в которой сохраним номер столбца с
//одинаковыми значениями элементов.
var 
f,numb : integer;
begin
//Создание и вывод на экран массива
//Элементы генерируются случайным образом
//  
for i:=1 to n do 
begin   
for j:=1 to n do   
begin     
ar[i,j] := random(2);     
write(ar[i,j]:3);   
end;   
writeln;   
end;  
// 

//Вот сам алгоритм поиска
//
//Записываем в numb значение -1
//Если в процессе работы значение не изменится (-1)
//То означает, что в массиве нет одинаковых столбцов
  numb := -1; 

//Идем по массиву
//
for j:=1 to n do
//Момент начала конкретного j столбца  
  begin    
//записываем в f значение 1
  //Предполагаем, что столбец одинаков
  //Если в конце обхода конкретного столбца значение f=1
  //Значит, что данный столбец одинаков
  f := 1;    
 
//Идем по столбцу
// n-1
//(т.к сравниваем текущий со следующим)
for i:=1 to n-1 do   
begin  
//Сравниваем текущий элемент столбца, со следующим     
if (ar[i,j] <> ar[i+1,j]) then
    //Если они не равны, то изменяем значение флажка f на 0       
    f := 0;   
end; 
//Конец обхода конкретного столбца  
 
//Если столбец одинаков   
if (f = 1) then
    //то записываем его номер в numb     
    numb := j;  
end;  
//  

//Вывод результата 
if (numb <> -1) then   
writeln('Столбец №: ',numb) 
else   
writeln('Нет ни одного одинакового столбца');    
end.
0,0(0 оценок)
Ответ:
помогите1185
помогите1185
11.07.2021 16:27
ответ на 1 задачу
Алгоритм выглядит таким образом:
ввести x, y;
если x>y то
 s:=(x*y)*2;
иначе
 s:=(x+y)/2;
вывод s
конец. (блок-схема прилагается в скриншоте 1)

На паскале выглядит примерно так:
var
 x, y, s:real;
begin
readln(x,y);
if x>y then
s:=(x*y)*2;
else
s:=(x+y)/2;

writeln(s:2:2);
end.

ответ на 2 задачу
Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)

ответ на 3 задачу
Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".

На паскале выглядит примерно так:

var
 a, b, c:integer; {если число вещественное}
begin
readln(a, b, c); 
if (a<b<c) then
writeln("Верно");
else
writeln("Неверно");
end.

ответ на 4 задачу
На паскале:
var
 a, b, c, max:integer;
begin
max:=0;
readln(a,b,c);
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;

writeln(max);
end.

ответ на 5 вопрос
На паскале:

Var
a,b,c:integer;
begin
readln(a,b,c);
if (a<0) then
a:=a*a;
writeln(a);

if (b<0) then
b:=b*b;
writeln(b);

if (c<0) then
c:=c*c;
writeln(c);
end.

Удачи!


Составить алгоритм ! составить алгоритм и блок- к каждой . кто хорошо разбирается, ! 1. даны действи
Составить алгоритм ! составить алгоритм и блок- к каждой . кто хорошо разбирается, ! 1. даны действи
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота