Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 16

Типизированный файл иассивов

20.12.2014, 10:10. Показов 442. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
15) Создать файл, где компонентой будет массив из N чисел. Определить минимальное и максимальное значение в каждой компоненте (массиве) и числа, находящиеся между ними, рассортировать по убыванию. После сортировки каждую компоненту записать в новый файл. Ту компоненту, где максимальное и минимальное значения находятся наиболее близко друг к другу, удалить из файла
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
program contr2;
        uses crt;
        const n=10;
        type mas=array[1..n] of integer;
             fmas=file of mas;
        var f1,f2 :fmas;
            a :mas;
            i,j,k,h :integer;
 
procedure FILE_SOZD;
          begin
               rewrite(f1);
               For i:=1 to random(3)+3 do begin
                   For j:=1 to n do
                       a[j]:=random(21)-5;
                   write(f1,a);           end;
               close(f1);
          end;
 
procedure FILE_VIV(var f:fmas);
          begin
               reset(f);
               while not eof(f) do begin
                     read(f,a);
                     For i:=1 to n do
                         write(a[i]:3);
                     writeLn;       end;
               close(f);
          end;
 
procedure FILE_SORT;
          begin
          min:=maxint;
          max:=-maxint;
          seek(fl,0);
          reset(f1); rewrite(f2);
          while not eof(f1) do begin
              read(f1,a);
              min:=maxint;
              max:=-maxint;
              for i:=1 to n do begin
               if a[i]>max then begin max:=a[i];{присвоение индекса}
              nmax:=i;{Присвоение номера}
              end;
              if a[i]<min then begin min:=a[i];{присвоение индекса}
              nmin:=i;{Присвоение номера}
              end;
              end;
              e:=nmax-nmin;{разность,находим расстояние между минимальным и максимальным}
              if nmax>nmin then begin k1:=nmin;
              k2:=nmax;
              end
              else k1:=nmax;
              k2:=nmin;
              if k1>k2 then {Что дальше?)}
             
               i:=1;
              repeat;
              if a[i]>a[i+1] then
              begin c:=a[i];
              a[i]:=a[i+1];
              a[i+1]:=c;
              if i>1 then dec(i);
              end
              else inc(i);
              until i>=n; {Сортировка}
 
end;
end;
end.
Как теперь рассортировать по убывание то,что между минимальным и максимальным?

Добавлено через 14 часов 40 минут
Может кто-то как то по другому сможет сделать?Помогите пожалуйста)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.12.2014, 10:10
Ответы с готовыми решениями:

Типизированный файл
1. Записать в файл f последовательного доступа n натуральных чисел. Получить в другом файле последовательного доступа все компоненты файла...

типизированный файл
Ребят, понимаю, что задача элементарная, но я что-то туплю, не знаю как ее сделать В Делфи.... Может, кто-нибудь мне поможет... ...

Типизированный файл
18 Дан типизированный файл целых чисел. Переписать все отрицательные числа в начало файла.

1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.12.2014, 11:54
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
uses crt;
const n=10;{размер массивов}
type mas=array[1..n] of integer;
var f,g:file of mas;
    m,i,j,k,min,imin,jmn,jmx:byte;
    x:integer;
    a:mas;
begin
randomize;
assign(f,'file1');
rewrite(f);
assign(g,'file2');
rewrite(g);
repeat
write('Количество компонент от 2 до ',n,' m=');
readln(m);
until m in [2..n];
for i:=1 to m do
 begin
  for j:=1 to n do
  a[j]:=-5+random(21);
  write(f,a);
 end;
writeln('Содержание первого файла:');
reset(f);
min:=n;{минимальное расстояние между мин и макс в массивах}
for i:=0 to filesize(f)-1 do
 begin
  seek(f,i);
  read(f,a);
  jmn:=1;
  jmx:=1;
  for j:=1 to n do
   begin
    write(a[j]:4);
    if a[j]<a[jmn] then jmn:=j; {найдем номера мин и макс в массивах}
    if a[j]>a[jmx] then jmx:=j;
   end;
  writeln('  min a[',jmn,']=',a[jmn]:3,' max a[',jmx,']=',a[jmx]:3);
  if jmx<jmn then{поменяем индексы если макс раньше мин}
   begin
    k:=jmx;
    jmx:=jmn;
    jmn:=k
   end;
  for j:=jmn+1 to jmx-2 do{отсортируем по убыванию между мин и макс}
  for k:=j+1 to jmx-1 do
  if a[j]<a[k] then
   begin
    x:=a[j];
    a[j]:=a[k];
    a[k]:=x;
   end;
  write(g,a);
  if abs(jmn-jmx)<min then
   begin
    min:=abs(jmn-jmx);
    imin:=i{индекс массива для удаления}
   end;
 end;
close(f);
writeln('Содержание второго файла до удаления');
reset(g);
while not eof(g) do
 begin
  read(g,a);
  for i:=1 to n do
  write(a[i]:4);
  writeln;
 end;
writeln('Минимальное расстояние между макс и мин =',min,' в компоненте номер ',imin+1);
{номер на 1 больше чем индекс}
reset(g);
if imin=filesize(g)-1 then
 begin
  seek(g,filesize(g)-1);
  truncate(g);
 end
else
 begin
  for i:=imin to filesize(g)-2 do
   begin
    seek(g,i+1);
    read(g,a);
    seek(g,i);
    write(g,a);
   end;
  seek(g,filesize(g)-1);
  truncate(g);
 end;
writeln('Содержание второго файла после удаления');
reset(g);
while not eof(g) do
 begin
  read(g,a);
  for i:=1 to n do
  write(a[i]:4);
  writeln;
 end;
close(g);
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2014, 11:54
Помогаю со студенческими работами здесь

Типизированный файл. Создать файл целых чисел. Определить суммы чисел до локальных минимумов, записав их в новый файл
Пожалуйста, помогите с решением: Создать файл целых чисел. Определить суммы чисел до локальных минимумов, записав их в новый файл....

Создать типизированный файл из вещественных чисел, записать во второй файл числа первого файла
Помогите пожалуйста написать программу Задача: создать типизированный файл из вещественных чисел, записать во второй файл числа...

Gb записи в типизированный файл создается файл огромного размера больше 2Гб что делать?
Доброе утро, в программе создаю файл с данными о студентах(лабараторная работа) он созается но весит больше 2Гб так должно быть или я что...

Типизированный файл. В новый файл записать все массивы исходного, исключая четвертые элементы
2)копмоненты заданного типизированного файла - массивы, состоящие из пяти вещественных чисел каждый. в новый типизированный файл записать...

Программа, которая читает текстовый файл в типизированный файл
Нужно написать программу, которая читает текстовый файл в типизированный файл и печатает его содержание на экране Только вот не очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru