Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46

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

22.04.2010, 19:24. Показов 1819. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите дописать программу.
Вот задание:
Текстовый файл содержит список фамилий. Создать другой текстовый файл,
содержащий отсортированный список фамилий.


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
Uses Crt;
Var
 F : Text;
 Ch : Char;
 FIO : String[20];
 
Procedure CreateFile;
begin
  Assign(F, 'data.dat');
  {$I-}
  ReWrite(F);
  {$I+}
  If IOResult <> 0 Then
     begin
       WriteLn('Ошибка создания файла');
       Halt;
     end
  Else
     begin
       WriteLn;
       Repeat
         Write('Введите ФИО: ');
         ReadLn(FIO);
         If FIO <> '' Then
           begin
            WriteLn(F, FIO);
           end;
       Until FIO = '';
       Close(F)
     end;
end;
 
Procedure ReadFile;
begin
  Assign(F, 'data.dat');
  {$I-}
  Reset(F);
  {$I+}
  If IOResult <> 0 Then
     begin
       WriteLn('Ошибка открытия файла');
       Halt;
     end
  Else
     begin
       WriteLn;
       While Not Eof(F) Do
         begin
           ReadLn(F, FIO);
           WriteLn('ФИО: ', FIO);
        end;
       Close(F);
       ReadLn;
     end;
end;
 
Procedure AppendFile;
begin
  Assign(F, 'data.dat');
  {$I-}
  Append(F);
  {$I+}
  If IOResult <> 0 Then
     begin
       WriteLn('Ошибка открытия файла для дополнения');
       Halt;
     end
  Else
     begin
       WriteLn;
       Repeat
         Write('Введите ФИО: ');
         ReadLn(FIO);
         If FIO <> '' Then
           begin
            WriteLn(F, FIO);
           end;
       Until FIO = '';
       Close(F)
     end;
end;
 
begin
 ClrScr;
 WriteLn('1.Создание файла');
 WriteLn('2.Чтение файла');
 WriteLn('3.Добавление в конец файла');
 Write('Ваш выбор');
 Ch := ReadKey;
 Case Ch Of
   '1' : CreateFile;
   '2' : ReadFile;
   '3' : AppendFile;
 End;
end.
Добавлено через 19 часов 49 минут
народ помогите плз
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2010, 19:24
Ответы с готовыми решениями:

Текстовый файл содержит список фамилий и должность сотрудников. Сформировать текстовый файл, содержащий фамил
Текстовый файл содержит список фамилий и должность сотрудников. Сформировать текстовый файл, содержащий фамилии сотрудников, работающих ...

Создать новый текстовый файл, содержащий список ip без повторений из исходного файла
Дан текстовый файл со статистикой посещения сайта за неделю. Имеется 10 строк(10 посещений). Каждая строчка содержит ip адрес, время и...

Дано число k (< 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного файла
Дано число k (&lt; 10) и текстовый файл, содержащий более k строк. Создать новый текстовый файл, содержащий k последних строк исходного...

12
 Аватар для pazlle
27 / 17 / 8
Регистрация: 02.11.2009
Сообщений: 176
22.04.2010, 19:29
Pascal
1
2
3
4
5
TNode =^TElem;
TElem= record
           FIO:string[20];
           next:TNode;
end;
Структура данных вот такая должна быть.
0
13 / 13 / 0
Регистрация: 29.10.2009
Сообщений: 71
03.05.2010, 21:46
не обязательно, здесь же только список фамилий, зачем же усложнять?
0
 Аватар для pazlle
27 / 17 / 8
Регистрация: 02.11.2009
Сообщений: 176
03.05.2010, 22:40
Ну да)) Я почему то подумал список файлов из фамилий)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.05.2010, 07:04
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Создаете в блокноте список фамилий типа
петров
макаров
васин
адамов
сохраняете файл в папке с программой, хотя и не обязательно, просто тогда в программе нужно будет указать полный путь.
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
uses crt;
var f,g:text;
    s,name:string[20];
    a:array[1..100] of string[20];
    n,i,j:byte;
begin
clrscr;
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
write('Имя файла для записи: ');
readln(name);
name:=name+'.txt';
assign(g,name);
rewrite(g);
n:=0;
while not eof(f) do
 begin
  readln(f,s);
  n:=n+1;
  a[n]:=s;
 end;
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  s:=a[i];
  a[i]:=a[j];
  a[j]:=s;
 end;
for i:=1 to n do
writeln(g,a[i]);
close(g);
write('Отсортированный список переписан в файл ',name);
readln
end.
0
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
20.05.2010, 21:23  [ТС]
А можете объясния к программе написать??? что в циклах тут делаеться и т.д
0
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
23.05.2010, 08:38  [ТС]
Че объяснение ни кто не напишит?
0
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
24.05.2010, 18:11  [ТС]
Объясните только почему тут строковый массив используеться и как он работает???
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.05.2010, 20:01
Строковый массив нужен для сортировки фамилий.
0
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
24.05.2010, 20:25  [ТС]
Почему именно строковый и как он вообще в программе работает???
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.05.2010, 21:26
Почему именно строковый
Нет, конечно если вместо фамилий написать типа как номера у заключенных, то можно и числовой массив.
1
3 / 3 / 0
Регистрация: 30.05.2009
Сообщений: 46
24.05.2010, 22:42  [ТС]
И наверно последний вопрос че обозначает вот это, че тут делаеться???
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
begin
  readln(f,s);
  n:=n+1;
  a[n]:=s;
 end;
close(f);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
 begin
  s:=a[i];
  a[i]:=a[j];
  a[j]:=s;
 end;
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
24.05.2010, 22:55
Вообще-то тут примитив написан и стандартные действия, которые каждый пацан знает, хоть десяток программ сам написавший, ненавижу халявщиков.
Pascal
1
2
3
4
5
6
7
begin
  readln(f,s);//читаем строки из файла
  n:=n+1;//считаем
  a[n]:=s;//записываем в массив
 end;
close(f);//закрываем файл
for i:=1 to n-1 do//это сортировка массива прямым обменом,
алгоритм читайте в Гугле, если даже такое понять не в силах
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2010, 22:55
Помогаю со студенческими работами здесь

Дан текстовый файл. Создать символьный файл, содержащий знаки препинания исходного
Помогите плс! Дан текстовый файл. Создать символьный файл, содержащий все знаки препинания, встретившиеся в текстовом файле (в том же...

Создать новый текстовый файл, содержащий K последних строк исходного
Помогите, пожалуйста, решить задачу на Паскале! Дано целое число K (0 &lt; K &lt; 10) и текстовый файл, содержащий более K строк. Создать новый...

Создать текстовый файл, в котором находится список из n фамилий и оценок за экзамен
Создать текстовый файл при помощи языка Паскаль в, котором находится список из n фамилий и оценок за экзамен.=-O

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

В файле список фамилий, нужно создать новый файл , удалив из исходного фамилии с Максимов по Тимофеев
Доброго времени суток. Есть условная задача: &quot;в файле список фамилий, нужно создать новый файл , удалив из исходного фамилии с Максимов по...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru