0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 12
1

Сформировать файл и оставить в файле только числа, находящиеся между минимальным и максимальным

17.12.2017, 13:22. Показов 1547. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста с написанием кода для следующей задачи на Pascal'е.

Задача:

Создать типизированный файл целых чисел. Записать в него с консоли последовательность целых чисел, конец последовательности (терминатор) – ноль, который не записывается в файл. Определить минимальное и максимальное числа и их позиции в файле (нумерация данных в файле начинается с нуля). Предусмотреть случай, когда таких чисел в файле нет. Оставить в файле только числа, находящиеся между минимальным и максимальным.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2017, 13:22
Ответы с готовыми решениями:

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

Сформировать массив R котррый содержит все элементы находящиеся между максимальным и минимальным элементами массива А
Дан массив А(30) со случайными целыми числами в диапозоне от 100;500. Сформировать массив R котррый...

Переставить в обратном порядке числа, находящиеся между максимальным и минимальным значением массива
Поменять в обратном порядке местами числа находящиеся между максимальным и минимальным значением. ...

Элементы массива, находящиеся между минимальным и максимальным элементом.
Написать программу, которая формирует новый массив, элементами которого являются элементы исходного...

3
Эксперт Pascal/Delphi
6806 / 4565 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
17.12.2017, 17:07 2
Взято отсюда:
Определить первое по порядку положительное и последнее отрицательное числа и их позиции в файле

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
var
  n, i, max, maxp, min, minp, k, j: integer;
  f: file of integer;
 
begin
  Assign(f, 'f.dat');
  ReWrite(f);
  Writeln('Введите числа, кончание ввода 0:');
  repeat
    ReadLn(n);
    if n <> 0 then 
      write(f, n)
  until n = 0;
  seek(f, 0);
  WriteLn('Числа, записанные в файле:');
  max := -MaxInt;
  min := MaxInt;
  for i := 0 to filesize(f) - 1 Do
  begin
    Read(f, n);
    Write(n, ' ');
    if n > max then
    begin
      max := n;
      maxp := i;
    end;
    if n < min then
    begin
      min := n;
      minp := i;
    end
  end;
  Writeln;
  k := 0;
  WriteLn('Максимальное: ', max, ' номер позиции: ', maxp);
  WriteLn('Минимальное : ', min, ' номер позиции: ', minp);
  if minp > maxp then
  begin
    k := minp;
    minp := maxp;
    maxp := k;
  end;
  k := abs(maxp - minp) - 1;
  j := filesize(f) - k;
  if k < 1 then
  begin
    writeln('Между нет чисел...');
    exit;
  end;
  reset(f);
  for i := 0 to k - 1 do
  begin
    seek(f, minp + i + 1  );
    read(f, n);
    seek(f, i);
    write(f, n);
  end;
  seek(f, filesize(f) - j);
  truncate(f);
  writeln('Остались числа:');
  reset(f);
  while not EOF(f) Do
  begin
    Read(f, n);
    Write(n, ' ');
  end;
  close(f);
  readln;
end.
Добавлено через 52 секунды
Цитата Сообщение от Nomad1 Посмотреть сообщение
Предусмотреть случай, когда таких чисел в файле нет
Всегда есть максимум и минимум.
Случай, когда несколько максимумов/минимумов, не рассматривался.
1
Модератор
9601 / 4923 / 3248
Регистрация: 17.08.2012
Сообщений: 15,366
18.12.2017, 08:32 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
Всегда есть максимум и минимум.
Неверно. При нулевом размере файла нет ни максимума, ни минимума.
2
Эксперт Pascal/Delphi
6806 / 4565 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
18.12.2017, 08:46 4
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
При нулевом размере файла
Да, спасибо. Забыл о таком варианте.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2017, 08:46
Помогаю со студенческими работами здесь

Найти значения, находящиеся между максимальным и минимальным значениями
Всем привет. Помогите с кодом. Не знаю как дальше делать. Нужно все значения, находящиеся между max...

Удалить все элементы массива, находящиеся между минимальным и максимальным
Помогите пожалуйста решить! Заранее Спасибо!)) 2. Решить задачу: Дан массив натуральных чисел....

Обнулить элементы массива, находящиеся между минимальным и максимальным элементами
В массиве из 10 целых чисел обнулить элементы, находящиеся между минимальным и максимальным...

Вывести элементы массива находящиеся между минимальным и максимальным элементами
Вывести элементы массива находящиеся между минимальным и максимальным эл-ами. Проблема заключается...

Нужно удалить элементы находящиеся между максимальным и минимальным элементом стека
В принципе, нужна часть кода, а именно удаление элементов, т.к. со стеками работаю в первый раз, ...

Переставить в обратном порядке все элементы массива, находящиеся между максимальным и минимальным
как переделать данный код так, чтобы обращение к элементам массива было через адрес? массив являлся...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru