#16 Строки как одномерные массивы символов в Паскаль. Примеры кода программ
Primary tabs
Ранее мы с вами познакомились с одномерными массивами, теперь посмотрим как эти знания помогут нам работать со строками (данными типа string).
Обход символов строки в цикле -- основная идея
Основная состоит в том, что строку можно читать посимвольно, обходя её как одномерный массив символов.
Сразу же рассмотрим пример, в котором символы полученной от пользователя строки мы выведем по одному, например в столбик:
var s: string; i: integer; begin writeln('vvedite proizvolnuy stroku:'); readln(s); for i:=1 to length(s) do // от 1 до длины строки begin writeln(s[i]); // выводим очередной символ строки end; readln(); end.
-- здесь следует обратить внимание на то, что символы строки нумеруются с единицы. Для определения длины строки (в символах) мы использовали стандартную функцию length().
Примеры
Пример №1 -- сравнение символов строк
Задача:
Пользователь произвольную строку, посчитайте число вхождений в неё символа $w$.
Решение:
var s: string; i, n: integer; begin writeln('vvedite proizvolnuy stroku:'); readln(s); n := 0; // значение по умолчанию (инициализация переменной) for i:=1 to length(s) do // обходим символы строки begin if (s[i] = 'w') then // сравниваем очередной символ строки с литералом n := n + 1; end; writeln('Otvet: v vashey stroke simvol "w" vstrechaetsya ', n, ' raz.'); readln(); end.
Задачи для самостоятельного решения
- Пользователь вводит символ $k$ и строку $s$ -- посчитайте сколько раз символ $k$ встречается в строке $s$.
- Пользователь вводит произвольную строку, выведите на экран каждый пятый символ или сообщение об ошибке, если строка состоит менее чем из 5 символов.
- Пользователь вводит строку произвольных символов, посчитайте количество цифр в ней.
Подсказка: для определения принадлежности символа цифре используйте идею из этого кода.
- Пользователь вводит строку произвольных символов, запишите первые 8 символов цифр в массив и выведете этот массив на экран.
Подсказка: массив должен быть "of char".
- Пользователь вводит строку произвольных символов, выделите из неё массив первых 8 строковых литералов, которые являются числами. И выведите эти числа на экран.
Например, из строки:
rew2@#$$#435tr353453t4er4
должны быть выделены подстроки:
2 435 353453 4 4
Подсказка: массив должен быть "of string".
- * Пользователь вводит произвольную строку, перестройте её в "ёлочку".
Например, если он ввел:rewt34t54346t566
то в ответ программа должны вывести:
r ew t34 t543 46t56 6
- Log in to post comments
- 2854 reads