М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
KINDER123567
KINDER123567
14.12.2021 16:11 •  Информатика

25 инфа? муниципальный этап олимпиады по информатике проводился для учеников 7–11-х классов. все ученики участвовали в общем конкурсе. каждый участник олимпиады мог набрать от 0 до 400 . по положению об олимпиаде победителем признаётся участник, набравший наибольшее количество , при условии, что им набрано больше половины возможных . победителей может быть несколько, если это количество наберут несколько человек; а может и не быть совсем, если никто не наберёт больше половины. напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например borland pascal 7.0), которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. если следующий за победителей один и тот же набрали несколько человек или если победителей нет, а лучших участников несколько (в этом случае они же являются искомыми), то должно выдаваться только число искомых участников. гарантируется, что искомые участники (участник) имеются. на вход программе сначала подаётся число участников олимпиады n (n< 10000). в каждой из следующих n строк находится результат одного из участников олимпиады в следующем формате: , где – строка, состоящая не более чем из 20 непробельных символов; – строка, состоящая не более чем из 15 непробельных символов; – число от 7 до 11; – целое число от 0 до 400 набранных участником . и , и , а также и разделены одним пробелом. пример входной строки: иванов пётр 10 275 программа должна выводить через пробел фамилию и имя искомого участника или их число. пример выходных данных: кузнецов иван второй вариант выходных данных: 4

👇
Ответ:
vanab322
vanab322
14.12.2021
Program ZvonPOBEDITEL;var i,n,k,i_1,i_2,d_1,d_2: integer;c: char;s,s_1,s_2: string;begin i_1:=0; i_2:=0; d_1:=1; d_2:=1; readln(n); for i:=1 to n do begin  c:='a';  s:='';  while c<>' ' do  begin   read(c);   s:=s+c;  end;  read(c);  while c<>' ' do  begin   s:=s+c;   read(c);  end;  read(c);  while c<>' ' do  begin   read(c);  end;  readln(k);  if (k=i_1) and (i<>1) then d_1:=d_1+1;  if k>i_1 then   begin   i_2:=i_1;   i_1:=k;   s_2:=s_1;   s_1:=s;   d_2:=d_1;   d_1:=1;  end;  if (k=i_2) and (i<>1) then d_2:=d_2+1;  if (k>i_2) and (k<i_1) then   begin    i_2:=k;   s_2:=s;   d_2:=1;  end; end; if (i_1<=200) and (d_1=1) then writeln(s_1); if (i_1<=200) and (d_1<>1)then writeln(d_1); if (i_1>200) and (d_2=1) then writeln(s_2); if (i_1>200) and (d_2<>1) then writeln (d_2);end. Это сугубо мое решение за копирайтинг отвешу люлей. И к тому же сдесь есть одна ошибка о которой знаю только я, так сказать один из частных случаев здесь не прощитывается, по этому поломайте голову, Ха-Ха-Ха...
4,4(92 оценок)
Открыть все ответы
Ответ:
VladimirLoll
VladimirLoll
14.12.2021
Type
  num=double; { в этом месте можно сменить тип на иной }

function Legal(a,b,c:num):boolean;
  { возвращает True, если из отрезков длиной a,b,c
    можно построить треугольник }
begin
  Legal:=(a+b>c) and (a+c>b) and (b+c>a)
end;

function Med(a,b,c:num):num;
  { возвращает длину медианы, проведенную к стороне а }
begin
  Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2
end;

procedure Med3(a,b,c:num; var m1,m2,m3:num);
  { возвращает длины m1,m2,m3 всех медиан треугольника,
    построенного из отрезков длиной a,b,c.
    При этом m1- длина медианы, проведенной к стороне а,
    m2- дилна медианы,проведенной к стороне b и т.д.
    Если треугольник построить нельзя, m1=m2=m3=0 }
begin
  if Legal(a,b,c) then
  begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end
  else begin m1:=0; m2:=0; m3:=0 end
end;

{ основная программа }
var
  a,b,c,m1,m2,m3:num;
begin
  Write('Введите длины сторон треугольника: '); Readln(a,b,c);
  Med3(a,b,c,m1,m2,m3);
  if m1>0 then begin
    Med3(m1,m2,m3,m1,m2,m3);
    if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3)
    else Writeln('Из полученных медиан нельзя построить треугольник.')
    end
  else
    Writeln('Невозможно построить треугольник с такими сторонами.')
end.

Тестовое решение:
Введите длины сторон треугольника: 14.3 18.9 8.6
Длины медиан: 10.725, 14.175, 6.45
4,8(82 оценок)
Ответ:
Alisa2853
Alisa2853
14.12.2021
Class Sort25{
 public static void main(String[] args) throws java.io.IOException{
  int c, n = 0, array[];
  while((c = System.in.read())==13 || (47<c && c<58 && (n = n*10+c-48)>-1));
  if(25<n || c!=10)return;
  array = new int[n];
  for(c = 0; c<n; c++){
   int d = 0; boolean negative = false;
   while((d = System.in.read())!=10)
    if(47<d && d<58)array[c] = array[c]*10+d-48;
    else if(d==45)negative = true;
   if(negative)array[c]*=-1;
  }
  sortArray(array);
  for(c = 0; c<n; c++)System.out.print(array[c]+" ");
 }
 private static void sortArray(int[] array){
  for(int c = 0; c<array.length-1; c++){
   int b = c, e;
   for(int d = c+1; d<array.length; d++)
    if(array[d]>array[b])b=d;
   e = array[c];
   array[c] = array[b];
   array[b] = e;
  }
 }
}
4,7(92 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ