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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2011, 23:27   #1
Надежда1286
Пользователь
 
Аватар для Надежда1286
 
Регистрация: 26.10.2011
Сообщений: 16
По умолчанию Сортировка в файле

Помогите решить задачу в Delphi: Дан файл f, компоненты которого являются целыми числами. Количество компонентов файла кратно 10. Записать в файл g наибольшее значение первых 10 компонент, затем следующих 10 компонент и так далее. Полученный файл отсортировать в порядке возрастания.
Надежда1286 вне форума Ответить с цитированием
Старый 27.11.2011, 00:22   #2
_Колибри_
Пользователь
 
Аватар для _Колибри_
 
Регистрация: 22.10.2011
Сообщений: 15
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  ListIn, ListOut: TStringList;
  I, J: Integer;
  Max: Integer;
begin
  ListIn:= TStringList.Create;
  ListOut:= TStringList.Create;
  ListIn.LoadFromFile('c:\f.txt');

  I:= 0;

  while I < ListIn.Count-1 do
  begin
    Max:= StrToInt(ListIn.Strings[I]);

    for J:= I to I+9 do
      if StrToInt(ListIn.Strings[J]) > Max then
        Max:= StrToInt(ListIn.Strings[J]);

    ListOut.Add(IntToStr(Max));
    I:= I + 10;
  end;

  // сортировка
  t:= True;
  while t do
  begin
    t:= False;
    for J:= 0 to ListOut.Count-2 do
      if StrToInt(ListOut.Strings[J]) > StrToInt(ListOut.Strings[J+1]) then
      begin
        StrTemp:= ListOut.Strings[J];
        ListOut.Strings[J]:= ListOut.Strings[J+1];
        ListOut.Strings[J+1]:= StrTemp;
        t:= True;
      end
  end;


  ListOut.SaveToFile('c:\g.txt');
  ListIn.Free;
  ListOut.Free;
end;

Последний раз редактировалось _Колибри_; 27.11.2011 в 00:36.
_Колибри_ вне форума Ответить с цитированием
Старый 27.11.2011, 12:17   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от _Колибри_
Код:
ListIn.LoadFromFile('c:\f.txt');
нет, так не пойдёт...
ведь в условиях задачи сказано:
Цитата:
Дан файл f, компоненты которого являются целыми числами.
поэтому должно быть в программе:
Код:
var
  f : file of integer;
остальной код не смотрел...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.11.2011, 16:26   #4
Надежда1286
Пользователь
 
Аватар для Надежда1286
 
Регистрация: 26.10.2011
Сообщений: 16
По умолчанию

Я пробовала сделать так, но в сортировке чёт не получается:
const n=40;
var a: array [1..n] of integer;
c: array [1..n] of integer;
f1:textfile;
k,i,j:integer;
x1:byte;
b:boolean;

procedure vvod;
var i:integer;
begin
assign(f1,'text1.txt');
reset(f1);
for i:=1 to n do
begin;
read(f1,c[i]);
write(c[i],' ');
end;
end;


procedure Poisk_maks;
var i:integer;
begin
i:=1;
j:=1;
While i<n do
begin
for i:=1 to 10 do
begin
If c[i]<c[i+1]
then
c[i]:=c[i+1];
end;
a[j]:=c[i];
inc(j);
inc(k);
end;
end;


procedure sortirovka;
begin
b:=true;
while b do
begin
i:=0;
b:=false;
while i<k do
begin
i:=i+1;
if a[i]>a[i+1] then
begin
x1:=a[i];
a[i]:=a[i+1];
a[i+1]:=x1;
b:=true;
end;
end;
end;
writeln;
end;


procedure vuvod;
begin
i:=0;
while i<k do
begin
i:=i+1;
write(a[i]:3);
end;
end;

begin
vvod;
sortirovka;
Poisk_maks;
vuvod;
readln;
end.
Надежда1286 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка данных в файле doomer3 Паскаль, Turbo Pascal, PascalABC.NET 9 18.04.2011 00:49
Сортировка слов в файле alextm07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.01.2011 01:37
Сортировка данных в файле. Animex Помощь студентам 3 10.12.2010 08:21
Сортировка в текстовом файле Isthmus Паскаль, Turbo Pascal, PascalABC.NET 18 01.05.2008 20:46