Содержание
Имеется строка типа string с тремя словами, разделенными пробелами. Как можно разбить её и занести все три слова в массив?
2 ответа 2
В цикле for идешь по строке, когда находишь пробел — это означает, что ты нашел конец слова. Помещаешь это слово (от предыдущего пробела или начала строки до этого пробела) в массив и так до конца строки.
Написать код для разбития строки на слова и напечатать их в столбик.
Пример:
Предложение: "Сегодня прекрасная погода. "
Окончательный вывод после разбития на строки:
Как разбить предложение на слова? Напишите пожалуйста код!
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Символьный тип char в Паскале
Символьной переменной соответствует тип char:
Инициализация символьной переменной:
Основные функции для работы с символами
Функция преобразует целое число, имеющее тип BYTE, в один символ ASCII-кода:
Функция возвращает порядковый номер символа параметра в таблице ASCII:
var i: integer; begin for i:=32 to 255 do write(chr(i):3); end.
Строковые переменные в Паскаль
Строковые переменные в Паскале имеют тип String
Объявление и инициализация строковой переменной:
var a:string; begin a:=’Привет всем!’; writeln(a); end.
Ввод значения строковой переменной с клавиатуры:
var a:string; begin writeln(‘Введите слово’); readln(a); writeln(‘Вы ввели слово ‘,a); end.
Строка «рассматривается» компилятором, как массив букв:
Функции работы со строками в Pascal
Исходные данные | Операция | Результат |
---|---|---|
s3=’Мотороллер’ | ||
s4= ‘трон’ | ||
s5=’Корочка’ | ||
s6=’Рубашка’ | ||
s8=’2.73′ | ||
var s:string[30]; n,i:integer; begin writeln(‘введите текст’); readln(s); n:=0; for i:=1 to length(s) do if s[i]=’f’ then n:=n+1; write(‘в тексте букв f = ‘,n) end. const m = [‘1’..’9′]; var s: string; i, k: byte; begin read(s); k := 0; for i := 1 to length(s) do if s[i] in m then inc(k); writeln(‘цифр = ‘, k); readln; end. var a,b,c:string; i:longint; begin write(‘введите слово:’); readln(a); b:=»; for i:=1 to length(a) do b:=a[i]+b; if a=b then write(‘перевертыш’) else write(‘не перевертыш’); end. Примечание: Посимвольный ввод до пробелаПосимвольный ввод удобен для «мгновенной» обработки символов в строке. Для организации массива символьных строк:
Пример: Трудность низкая: Трудность высокая: И напоследок рассмотрим олимпиадное задание по Паскалю: * Решить ту же задачу, в которой сдвиг будет не на 3 позиции, а на k, причем отрицательное значение является признаком сдвига влево, положительное — вправо. var a:char; i,n:byte; s,s1:string; begin s1:=»; readln(s); for i:=1 to length(s) do begin n:=ord(. ); n:=n+3; if n=123 then n:=97; <в ASCII 120 — x, 97 — a>if . ; <в ASCII 121 — y, 98 — b>if . ; <в ASCII 122 — z, 99 — c>a:=chr(. ); s1:=. ; end; writeln(s1) end. Потренируйтесь в решении задач по теме, щелкнув по пиктограмме: |