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

Олимпиада по информатике
нужен ответ


Олимпиада по информатике нужен ответ
Олимпиада по информатике нужен ответ

Показать ответ
Ответ:
messiii45
messiii45
17.10.2022 20:52
Var s,ss,s1,s2:string;
p,p1,p2,max,min:integer;
begin
writeln('Введите строку:');
readln(s);
ss:=s+' ';
max:=0; min:=255;
p:=pos(' ',ss);
while p>0 do
 begin
 if p>max then begin max:=p; s1:=' '+copy(ss,1,p); end;
 if p<min then begin min:=p; s2:=' '+copy(ss,1,p); end;
 delete(ss,1,p);
 p:=pos(' ',ss);
 end;
s:=' '+s+' ';
p1:=pos(s1,s); 
p2:=pos(s2,s); 
if p1>p2
  then begin delete(s,p1,max+1); insert(s2,s,p1); delete(s,p2,min+1); insert(s1,s,p2); end
 else begin delete(s,p2,min+1); insert(s1,s,p2); delete(s,p1,max+1); insert(s2,s,p1); end;
s:=trim(s);
writeln(s);
end. 

Пример:
Введите строку:
поменяйте местами самое длинное и самое короткое слово
и местами самое длинное поменяйте самое короткое слово
0,0(0 оценок)
Ответ:
sofialolollollo
sofialolollollo
20.03.2020 00:53
Ну функция randomize() создаёт, перемешивает новые рандомные числа, а random() их предоставляет.
Разных вариаций написания много, я например сделал с массивом, можно в принципе и без него, но с ним лучше т.к. числа хранятся в массиве и их можно выводить в будущем, если это слишком сложно для тебя, то я могу написать программу без использования массива.

Var i,b:integer;
    A:array[1..20] of integer;
Begin
  Randomize();
  for i:=1 to 20 do
  A[i]:=Random(0,50);
Write('Из чисел: ');
   for i:=1 to 20 do
    begin
    if i=20 then
      Writeln(A[i])
       else Write(A[i],', ')
    end;
Write('Кол-во четных равняется: ');
  for i:=1 to 20 do
             if (A[i] mod 2 = 0) then b:=b+1;
Writeln(b)
End.

Вот выводы программы, которые у меня получились.

Первый раз:
Из чисел: 42, 1, 46, 24, 36, 9, 22, 16, 7, 41, 49, 46, 27, 29, 50, 44, 44, 10, 48, 36
Кол-во четных равняется: 13

Второй раз:
Из чисел: 5, 16, 16, 27, 1, 48, 46, 45, 46, 13, 21, 18, 24, 45, 14, 13, 33, 14, 21, 30
Кол-во четных равняется: 10

Третий раз:
Из чисел: 15, 2, 24, 42, 49, 43, 5, 48, 8, 1, 45, 9, 20, 24, 35, 19, 11, 15, 26, 33
Кол-во четных равняется: 8

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