Одномерный массив строк используется для хранения в оперативной памяти компьютера промежуточного фрагмента текста с целью его обработки.
Массив строк ST в разделе переменных VAR можно объявить следующим образом:
VAR ST: ARRAY[1..N] OF STRING; где N — верхняя граница массиве, то есть количество строк, которые одновременно могут находится в оперативной памяти. Значение N может быть задано в разделе констант CONST.
Инициализация массива строк.
Наиболее часто используют три источника формирования массива строк. Первым источником является ввод информации с клавиатуры. При этом можно выделить два способа.
VAR ST: ARRAY[1..N] OF STRING; I, К: INTEGER;
BEGIN
...
WRITELN('Введите количество информационных строк');
READLN(K);
WRITELN('Введите информационные строки:');
FOR I := 1 TO К DO READLN(ST[I]);
VAR ST: ARRAY[1..N] OF STRING; I, К: INTEGER;
BEGIN
...
WRITELN('Введите информационные строки:'); FORI:= 1TON
DO BEGIN
READLN(ST[I]);
IF ST[I] = " THEN BREAK; {Пустая строка, конец ввода}
IF I = N THEN WRITELN('Введена последняя строка массива ST')
END;
Вторым источником массива строк является текстовый файл. Информация из текстового файла переписывается строка за строкой в массив строк, пока он не заполнится информацией. После чего начинается обработка данных в массиве строк.
Третьим источником является длинная строка, содержащая сцепку коротких строк в области динамической памяти. Вы можете купить качественные наушники monster beats by dre по оптимальной и доступной цене. Прочитать содержимое I-ой строки массива ST можно следующим образом С:= ST[I], Где С: STRING строка текста.
Обратиться к J-ой литере I-ой строки массива ST можно следующим образом CH:=ST[I,J], где СН: CHAR переменная литерного типа.
Упорядочение строк в массиве.
Одной из важнейших задач является сортировка массива строк по алфавиту. Например, процесс заполнения информацией о городах России массива ST идет c помощью географического атласа. Естественно, что в компьютерную базу заносятся названия городов, расположенных по территориальному принципу. А вот использовать список городов удобнее, если названия расположены в алфавитном порядке.
Пример 15. Разработать программу, обеспечивающую ввод названий городов в произвольном порядке. Упорядочить список городов в алфавитном порядке и вывести этот список на экран монитора. Для сортировки строк массива ST, содержащих названия K городов, будем использовать метод пузырька.
PROGRAM PR15;
CONST N = 50; {Максимальное число городов в списке}
VAR ST: ARRAY[1..N] OF STRING; I, J, К: INTEGER; L: STRING;
BEGIN
К:= 0; WRITELN('Вводите названия городов:');
FOR I:=1 TO N
DO BEGIN
READLN(ST[I]);
IF ST[I] = " THEN BEGIN
К := I - 1;
BREAK; {Пустая строка, конец ввода}
END;
IF I = N THEN BEGIN
К:= N;
WRITELN('Введена последняя строка массива ST')
END
END;
FOR I:= 2 TO К {Сортировка массива строк ST}
DO FOR J:=K DOWNTO I
DO IF ST[J-1]>ST[J]
THEN BEGIN {Переставить ST[J-1] с ST[J] местами}
L := ST[J-1]; ST[J-1] := ST[J]; ST[J] := L
END; {IF}
{ Вывод на экран отсортированного массива ST}
FOR I := 1 ТО К DO WRITELN(ST[I])
END.
Предыдущая статья: Манипулирование строками STRING.
Оглавление: Лекции по Паскаль. Часть 2.
Следующая статья: ЗАПИСИ. ТИП ДАННЫХ RECORD.
Комментарии