Дан файл f, компоненты которого являются целыми числами - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Дан файл f, компоненты которого являются целыми числами. Никакая из компонент не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных и т.д. Переписать компоненты файла f в файл g в следующем порядке: пять положительных, пять отрицательных и т.д.

Решение задачи: «Дан файл f, компоненты которого являются целыми числами»

textual
Листинг программы
  1. const r=20;
  2. var f,g:file of integer;
  3.     n,i,j,a,k,p:integer;
  4. begin
  5. randomize;
  6. assign(f,'filef');
  7. rewrite(f);
  8. assign(g,'fileg');
  9. rewrite(g);
  10. repeat
  11. write('Сколько пар десятков чисел записать в файл? n=');
  12. readln(n);
  13. until n>1;
  14. for i:=1 to n do
  15.  begin
  16.   for j:=1 to 10 do
  17.    begin
  18.     a:=random(20)+1;
  19.     write(f,a);
  20.    end;
  21.   for j:=1 to 10 do
  22.    begin
  23.     a:=-random(20)-1;
  24.     write(f,a);
  25.    end;
  26.  end;
  27. seek(f,0);
  28. writeln('Файл F:');
  29. i:=0;
  30. while not eof(f) do
  31.  begin
  32.   read(f,a);
  33.   i:=i+1;
  34.   write(a:4);
  35.   if i mod 10=0 then writeln;
  36.  end;
  37. writeln;
  38. writeln;
  39. seek(f,0);
  40. for i:=1 to n do
  41.  begin
  42.   k:=r*(i-1);
  43.   seek(f,k);
  44.   for j:=k to k+4 do
  45.    begin
  46.     seek(f,j);
  47.     read(f,a);
  48.     write(g,a);
  49.    end;
  50.   for j:=k+10 to k+14 do
  51.    begin
  52.     seek(f,j);
  53.     read(f,a);
  54.     write(g,a);
  55.    end;
  56.   for j:=k+5 to k+9 do
  57.    begin
  58.     seek(f,j);
  59.     read(f,a);
  60.     write(g,a);
  61.    end;
  62.   for j:=k+15 to k+19 do
  63.    begin
  64.     seek(f,j);
  65.     read(f,a);
  66.     write(g,a);
  67.    end;
  68.  end;
  69. close(f);
  70. seek(g,0);
  71. writeln('Файл G:');
  72. i:=0;
  73. while not eof(g) do
  74.  begin
  75.   read(g,a);
  76.   i:=i+1;
  77.   write(a:4);
  78.   if i mod 10=0 then writeln;
  79.  end;
  80. close(g);
  81. end.

Объяснение кода листинга программы

  1. Объявлены переменные: n, i, j, a, k, p (целые числа)
  2. Задается значение переменной n (количество пар десятков чисел для записи в файл)
  3. Создаются файлы f и g для записи и чтения чисел
  4. В цикле записываются в файл f 10 случайных чисел, затем 10 отрицательных случайных чисел
  5. В цикле считываются числа из файла f и выводятся на экран с шагом 4
  6. Закрывается файл f
  7. В цикле считываются числа из файла g и выводятся на экран с шагом 4
  8. Закрывается файл g
  9. Код завершается

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы