Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20

Сортировка в списках

17.01.2011, 10:55. Показов 2302. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Бьюсь всю ночь ничего не получается, помогите : необходиомо, чтобы программа открывала список , состоящий из текст1;символ;текст2 и сортировала список по алфавиту после символа...
Пример:
парам пам пам | пам => пам парам пам | амп
пам парам пам | амп => пам пам парам | мпа
пам пам парам | мпа => парам пам пам | пам

Code
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label6: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Button3: TButton;
    Button4: TButton;
    BitBtn1: TBitBtn;
    Button5: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  Type stud=record
        fam,adr,bed:string[200];
         end;
var
  Form1: TForm1;
  f:file of stud;
  ft:textfile;
  w:stud;
  fname,fnamet:string;
  s:string;
  a:array [1..100]  of stud;
  n,i:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear; memo2.Clear; memo3.Clear;
edit1.Clear; edit2.Clear; edit3.Clear;
end;
 
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  OpenDialog1.Title:='Открыть файл';
  if OpenDialog1.Execute then
    begin
      fname:=OpenDialog1.Filename;
      AssignFile(f,fname);
      Reset(f);
    end;
  memo1.clear;  memo2.clear;  memo3.clear;
    While not  eof(f) do
    begin
    read(f,w);
    memo1.lines.add(w.fam);
    memo2.lines.add(w.adr);
    memo3.lines.add(w.bed);
    end;
  CloseFile(f);
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
  SaveDialog1.Title:='Сохранить в текстовом файле';
  SaveDialog1.DefaultExt:='.txt';
  if SaveDialog1.Execute then
    begin
    fnamet:=SaveDialog1.FileName;
    AssignFile(ft,fnamet);
    Rewrite(ft);
    end;
  reset(f);
while not eof(f) do
    begin
    read(f,w);
    with w do
        writeln(ft,fam:10,adr:10,bed:10);
    end;
closeFile(f);
closeFile(ft);
end;
 
procedure TForm1.Button5Click(Sender: TObject);
  var r,n:integer;
 
  begin
 memo1.clear; memo2.clear; memo3.clear;
 reset(f);
 n:=0;
          while not eof(f) do            //создаем массив записей
            begin
             read(f,w);
               inc(n);
               a[n]:=w;
                        end;
 
 
                for i:=1 to n-1 do       //сортируем их по алфавиту
                     for r:=1 to n-i do
                       if a[r].bed>a[r+1].bed then
                          begin
                                w:=a[r]; a[r]:=a[r+1];
                                a[r+1]:=w;
                          end;
 
      memo1.Lines.Add(a[i].fam);
      memo2.Lines.Add(a[i].adr);
      memo3.Lines.Add(a[i].bed);
 
     end;
        end.
Что не так? хелп...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2011, 10:55
Ответы с готовыми решениями:

Сортировка слиянием на связных списках
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { ...

Ошибка в списках
В функции сравнения Compare не инициализируется переменная y. Зато такая же переменная h инициализируется. В чем ошибка подскажите. ...

Ошибка в списках
#include <iostream> #include <list> using namespace std; void main() { list<int> L, L1, L2; L.push_front(10); ...

29
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
18.01.2011, 16:54
Студворк — интернет-сервис помощи студентам
ладно. скажи какие файлы у тебя есть в каком формате как записей или текстовые? дальше я проверю

Добавлено через 2 минуты
насчет ошибки 102 в Button5Click, у тебя не присвоен файл для чтения
пытаешья читать а откуда неизвестно
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 16:55  [ТС]
все в текстовом, и таких у меня несколько
Вложения
Тип файла: rar questions.rar (1.71 Мб, 1043 просмотров)
Тип файла: txt Для сортировки.txt (825 байт, 9 просмотров)
0
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 17:04  [ТС]
Цитата Сообщение от unick12345 Посмотреть сообщение

насчет ошибки 102 в Button5Click, у тебя не присвоен файл для чтения
пытаешья читать а откуда неизвестно
А если сперва создавать файл, потом загружать, а далее сортировать? почему тогда просто чистит мемо?(
0
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
18.01.2011, 17:28
файлик большеват. обработка долгая
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 17:29  [ТС]
я поменьше прикрепил, можно обрезать временно
0
1866 / 1186 / 192
Регистрация: 27.03.2009
Сообщений: 4,603
18.01.2011, 17:46
вот посмотри. кнопка внизу
Вложения
Тип файла: zip 4.zip (222.6 Кб, 7 просмотров)
1
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 18:19  [ТС]
и еще раз спасибо) маленькие файлы получилось посортировать, а вот большой сейчас разобью на несколько частей и по буква посортирую(

Добавлено через 14 минут
хотя нет, не сохраняет(
0
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 21:11  [ТС]
Вот помогли решить проблемму с открытием, но ни там, ни там не сохраняет из мемо
Вложения
Тип файла: rar 4.rar (12.7 Кб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
18.01.2011, 22:09  [ТС]
проблема решена)
0
0 / 0 / 0
Регистрация: 17.01.2011
Сообщений: 20
19.01.2011, 04:29  [ТС]
Вот, так сказать, конечный вариант...Огромное спасибо unick12345 за помощь!!!
Вложения
Тип файла: rar !!!итог.rar (425.0 Кб, 9 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2011, 04:29

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

Выбор в списках
Помогите пожалуйста зделать никак не получается Надо создать списки слов, например, артиклей («the», «a» и других), имен...

Немного о списках
Помогите разобраться со списками(хотя бы односвязными) Подскажите пример простого кода, где реализован список как можно проще. Вот пока...

Вопрос о списках
Имеется три таблицы: Факультеты, Кафедры и Сотрудники. Таблицы связаны отношением один ко многим последовательно. Форма содержит три...

Поиск в списках
Ребята помогите:resent: Существует список <ul id = "listt"> <li>Main</li> <li>Info <ul> <li>1</li> ...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru