Блок данных с фамилиями |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Блок данных с фамилиями |
plafon |
18.05.2004 11:03
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 17 Репутация: 0 |
Помогите решить эту задачу пожалуйста
Сформировать блок данных с фамилиями, считанными из файла (файл с фамилиями, предварительно нужно создать) и отсортировать их по алфавиту по всем буквам фамилии, результат вывести в файл. |
BlackShadow |
18.05.2004 11:18
Сообщение
#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 - 18.05.2004 12:38 |
Текстовая версия | 27.04.2024 17:04 |