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

Отношение Дан массив a1,a2,…an. Необходимо выбрать в нём два элемента ai и aj, такие что i
Входные данные

В первой строке задано целое число 2 ≤n≤ 100 000 — количество элементов в массиве.

Во второй строке заданы n целых положительных чисел ai(1 ≤i≤n, 1 ≤ai≤ 5000).

Выходные данные

Выведите два числа — индексы элементов i и j. Если ответов несколько, то выведите любой из них.

Если ответа нет, то выведите два нуля, разделённых пробелом.

Показать ответ
Ответ:
sooooooos1
sooooooos1
07.04.2022 08:09
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var fn:='MtFile.bin';
  var n:=ReadInteger;
  var f:file of integer;
  var s:=SeqRandom(n,-3000,8000); // последовательность не хранится
  Rewrite(f,fn);
  foreach var m in s do Write(f,m);
  f.Close; // файл создан и закрыт
  Reset(f,fn);
  var b:integer; // буфер
  while not Eof(f) do begin Read(f,b); Print(b) end; Writeln;
  Seek(f,0); // стали в начало файла
  Read(f,b);
  var iOdd:=0;
  while not Eof(f) and b.IsEven do
  begin Read(f,b); iOdd+=1 end;
  if Eof(f) and b.IsEven then
    begin Writeln('Нет нечетных компонентов'); exit end;
  var (bb,iEven):=(b,n);
  repeat
    iEven-=1; Seek(f,iEven); Read(f,b)
  until (iEven=1) or b.IsEven;
  if b.IsOdd then begin Writeln('Нет четных компонентов'); exit end;
  Seek(f,iEven); Write(f,bb);
  Seek(f,iOdd); Write(f,b);
  Seek(f,0);
  while not Eof(f) do begin Read(f,b); Print(b) end; Writeln;
  f.Close
end.

Пример
10
3166 6355 3596 6926 1266 6143 7401 7624 1402 -627
3166 1402 3596 6926 1266 6143 7401 7624 6355 -627
0,0(0 оценок)
Ответ:
Makcumuluan
Makcumuluan
07.04.2022 08:09
Var i,n,fs,ls: integer;
    fsz,indf,indl: int64;
    f: file of integer;
begin
  write('n = '); readln(n);
// запись в файл целых чисел  
  assign(f,'input.txt');
  rewrite(f);
  for i:=1 to n do write(f,random(-3000,8000));
  close(f);
// замена элементов в файле  
  assign(f,'input.txt');
  reset(f);
  fsz:=FileSize(f); 
  indf:=0;
  for i:=0 to fsz-1 do
  begin
    read(f,n);
    if ((n mod 2)<>0) and (indf=0) then
    begin
      indf:=i; fs:=n;
    end;  
    if (n mod 2)=0 then
    begin
      indl:=i; ls:=n;
    end;  
  end;
  reset(f);
  seek(f,indf);
  write(f,ls);
  reset(f);
  seek(f,indl);
  write(f,fs);
  close(f);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота