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

:в типизированном файле поменять местами две записи. то есть дан номер маршрута marshrut.nk.n, количество остановок до метро marshrut.nk.k. надо найти маршрут 11 и поменять его местами со след записью. вот часть кода именной этой процедуры, с сортировкой т.к. та, которая написана ниже не робит. var marshrut, y: tmarshrut; vidtransporta: tvidtransporta; fr: file of tmarshrut; n, kol, k: integer; filename: string[80]; begin while not eof(fr) and (kol=0) do begin read(fr, marshrut); if (marshrut.nk.n = '11') then begin writeln('маршрут: ',marshrut.nk.n, ' количество остановок до метро: ',marshrut.nk.k); inc(kol); k: =filepos(fr)-1; y: =filepos(fr); seek (fr, 0); write (fr, y); seek (fr, 1); write (fr, k); write('в файле изменена запись номер', k+1); write(fr, marshrut); end; end; if kol=0 then writeln('данные, соответствующие запросу, не найдены'); closefile(fr); write('press enter'); readln; end;

👇
Ответ:
Элайза5
Элайза5
17.02.2022
Здесь нужно использовать вс типизированный файл и, соответственно, вторую файловую переменную (fr2).
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
   then write(fr2,Marshrut)
   else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
  begin
  read(fr, Marshrut);
  write(fr2,Marshrut);
  end;
if (kol=1) then  write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).

Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
 begin
 read(fr, Marshrut);
 seek (fr, k1);
 write(fr, Marshrut);
 seek (fr, k2);
 write (fr, y);
 end;

end;
4,4(12 оценок)
Ответ:
gek45
gek45
17.02.2022
Поясни по нормальней
4,4(23 оценок)
Открыть все ответы
Ответ:
val40
val40
17.02.2022
Снег мягкий, пушистый ложится  ковром.
И хлопья  летят как с небес парашюты.
Иду  на концерт  через парк напролом,
Сегодня   на сцене  весь день лилипуты.

И что-то далёкое  с детства пришло,
Ворвалось  тайком,  будто кот в одеяло.
И  тут же волною приплыло  тепло,
И радостно  сердцу как будто бы стало.

Секундой  десятки   годов  протекли,
И так же лилипут  выступленье.
Но  средь   временного пространства дали
Случайно   ворвались два  быстрых   виденья.

Был главным актёром  тогда Коля  Манг.
Мне имя его не даёт всё покоя.
И начал искать   средь названий  тот ранг,
Что  выйдет на тайну  эстрады  героя.

Искать не пришлось  мне столетьями их,
Друзья  меня взяли с собою  в походы.
И хоть   ветер  памяти  несколько стих,
Скажу,  что узнал, несмотря   на все годы…

Пейзаж колоссальный,     красавец- Мангуп!
Дорога змеится,      внизу- винограды.
Но-   дрожь пробирает,  стучит зуб о зуб,
И даже, похоже,  туристы не рады…

Какой-то   неясный, таинственный   шум,
Он  то- наяву,  то  в тумане   душевном.
Пытаюсь  уйти  от  тревожащих дум,
Всё вижу вокруг в ореоле волшебном.

Кружится,  как в сказке, серебряный свет,
Мираж   впереди,   или   жизни картина?
Все краски   опишет едва ли поэт,
И месяц,   как долька висит    апельсина…

И вспомнил, что видел товарищ тогда,
На  странной вершине   гористого плато.
Вина мы не брали,   лишь только еда,
А, впрочем,  оно ведь  у всех   виновато…

Сказал   он   наутро,   что видел концерт,
Куда направляли   мы с ним свои ноги.
Увидел он  будущий свой там мольберт,
И как я пишу   про Мангуп    эти строки…

Но именно там    как    в  «окошко»  глядел,
Сквозь  времени линзу,    астрал-телескопа…
А я  сомневаться   рассказу   посмел,
Как   рыба в легенду  морского потопа.

Мангуп   по   местам   всё  расставил  теперь,
Видение  гор   лишь    под  утро     умчалось… 
Коль  в  «завтра»   одна хоть имеется дверь,
То ключ от замка  нам  найти  уж  осталось…
4,5(100 оценок)
Ответ:
gulim1902
gulim1902
17.02.2022

Program nnatovna;
uses crt;
const n=13;
var
  a:array [1..n] of integer;
  i,min,max,temp:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  writeln();
  randomize;
  writeln('Элементы массива:');
  {создание и вывод массива}
  for i:=1 to n do
    begin
      a[i]:=random(100)-50;
      write (a[i]:5);
    end;
{ищем номера мин и мах}
  min:=1;
  max:=1;
  for i:=1 to n do
    begin
      if a[min]>a[i] then min:=i;
      if a[max]<a[i] then max:=i;
    end;
{меняем местами мин и мах элементы}
  temp:=a[min];
  a[min]:=a[max];
  a[max]:=temp;    
{вывод результата}
  writeln();
  writeln('Результат:');
  for i:=1 to n do
    write(a[i]:5);
end.

4,7(76 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ