Блок данных с фамилиями |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Блок данных с фамилиями |
plafon |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
Помогите решить эту задачу пожалуйста
Сформировать блок данных с фамилиями, считанными из файла (файл с фамилиями, предварительно нужно создать) и отсортировать их по алфавиту по всем буквам фамилии, результат вывести в файл. |
BlackShadow |
Сообщение
#2
|
Гость |
Создаёт файл:
Код Const N=10; Names:Array[1..N] Of String = ('Иванов','Петров','Сидоров','Путин','Чубайс', 'Жириновский','Хазанов','Петросян','Галкин','Якубович'); Var i:Integer; f:Text; Begin Assign(f,'Names.Txt'); ReWrite(f); For i:=1 To N Do WriteLn(f,Names[i]); Close(f) End. Читает, сортирует и на экран: Код Var Names:Array[0..100] Of String; f:Text; n,i,j,k:Integer; min:String; Begin Assign(f,'Names.Txt'); Reset(f); n:=0; While Not Eof(f) Do Begin ReadLn(f,Names[n]); Inc(n) End; Close(f); For i:=0 To n-2 Do Begin min:=Names[i]; k:=i; For j:=i+1 To n-1 Do If min>Names[j] Then Begin min:=Names[j]; k:=j End; If i<>k Then Begin Names[k]:=Names[i]; Names[i]:=min End End; For i:=0 To n-1 Do WriteLn(Names[i]) End. Есди что не так - пиши. Сообщение отредактировано: AlaRic - |
Текстовая версия | 23.12.2024 20:07 |