Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2014, 16:55   #1
Тетрадь
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 37
По умолчанию Сортировка записей. Паскаль

Здравствуйте. Нужно найти максимальный и минимальный элемент в "Экономические показатели" и отсортировать его по возрастанию.
Не как не могу сделать это с записями.
Код:
unit obrabotki;
interface
uses op;

//procedure vvod(var sved:svedd);
procedure vivod(var sved:svedd);
procedure sort(var sved:svedd);
implementation

{procedure vvod(var sved:svedd);
var
  i, n: integer;
  lepsved: region;
begin
  assign(sved,'lep_zar.dat');
  rewrite(sved);
//  repeat
    writeln('Введите количество регионов:');
    readln(n);
//  until n in [1..maxk];
  for i := 1 to n do
  begin
    writeln(i, '-: ');
    with lepsved do begin
      write('Название региона: ');
      readln(name);
      write('Экономические показатели: ');
      readln(pocaz);
      write(sved, lepsved);
    end;
  end;
  close(sved);
end;}


procedure vivod(var sved:svedd);
var
  i,n: integer;
  lepsved:region;
begin
  assign(sved,'lep_zar.dat');
  reset(sved);
  writeln('-----------------------------');
  writeln('Регион   ': 10, 'Экономические показатели по промышленному производству': 10);
  writeln('-----------------------------');
  while not eof(sved) do
  begin
  read(sved,lepsved);
  with lepsved do begin

    writeln(lepsved.name: 10, lepsved.pocaz: 3);

  end;
  end;
  writeln('--------------------------------');
  close(sved);
end;
procedure sort(var sved:svedd);
var q, w, i,n, n_min: integer; z, x: integer;
lepsved:region;
begin
assign(sved,'lep_zar.dat');
reset(sved);
while not eof (sved) do
begin
      read(sved,lepsved);
      begin
     n_min:=1;
	    for i:=2 to n do
	                  if lepsved.pocaz[i]>lepsved.pocaz[n_min] then  n_min:=i;
	                  writeln('Минимальный элемент массива:  ', 

  close(sved);
  end;
end;
end;
end.
Код:
unit op;

interface

const
  maxk = 10;

type
  region = record
    name: string[20];
    pocaz: string[5];
  end;
  svedd = file of region;

implementation
end.
Код:
program pro1;

uses
  op, obrabotki;

var
  sved: svedd;

begin
  assign(sved, 'lep_zar.dat');
  //vvod(sved);
  vivod(sved);
  sort(sved);
end.
Arquivo do WinRAR.rar
Тетрадь вне форума Ответить с цитированием
Старый 19.10.2014, 17:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Динамические массивы или списки использовать разрешается?
Какой паскаль?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2014, 17:20   #3
Тетрадь
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 37
По умолчанию

Паскаль ABC. Динамические массивы нельзя. Списки не знаю, не изучали
Тетрадь вне форума Ответить с цитированием
Старый 19.10.2014, 18:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пичально... Тогда все сложно...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2014, 19:03   #5
Тетрадь
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 37
По умолчанию

Динамические теперь можно))
Тетрадь вне форума Ответить с цитированием
Старый 19.10.2014, 19:31   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вау! Прям прогресс...
Ну вот если твой недопаскакаль поддерживает такое:
Код:
var a:array of region
Опиши переменку и считай ее из файла:
Код:
AssignFile(s,'файл'); reset(f);
SetLength(a,FileSize(f)); i:=0;
while not eof(svedd) do begin
 read(a[i]);
end;
Потом сортируй пузырьком массив "а".
Цикл для работы с массивом: for i:=Low(a) to High(a) do ...

Идея, то понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод данных в массив записей из текстового файла, сортировка по ключу, вывод в файл (на Паскаль) orandzheviyman Помощь студентам 8 21.01.2014 08:15
Сортировка записей в Си majuw Помощь студентам 11 29.04.2013 18:17
Сортировка записей. Whiplash Паскаль, Turbo Pascal, PascalABC.NET 3 17.12.2008 21:39
Типизированные файлы.Создание, удаление, редактирование, сортировка записей типизированного файла.Паскаль Студент Шиза Помощь студентам 6 08.12.2007 13:41