28.10.2019, 23:06 | #1 (permalink) |
Новичок
Регистрация: 15.10.2019
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Type и символьные массивы
Помогите дописать программу, застрял и не понимаю что делать. Код:
type slovo = array [1..5] of char; spisok = array [1..60] of slovo; var C: spisok; i, j: integer; s: string; begin s := ''; for i := 1 to 60 do s := s + c[i][5]; end; |
28.10.2019, 23:06 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можете набраться информации из аналогичных обсуждений USB Type-C - mini-USB 10 pin SymbolsKeyboard & TextArt - символьные изображения |
29.10.2019, 12:02 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Постараюсь помочь, чем могу.
К сожалению, на Delphi я не пишу (когда-то занимался этим, да всё забыл), поэтому обойдёмся Паскалем. Чтобы не возиться с дельфийскими формами, ввод/вывод я сделал файловым. Входной файл Sl.txt содержит исходный текст. Текст может содержать множественные пробелы, знаки препинания, переводы строки и т.п. — всё обработается. НО! ВНИМАНИЕ — ВАЖНО! Никакой кириллицы: программа обрабатывает ТОЛЬКО латиницу. Впрочем, расширить код для работы с кириллицей, в принципе, несложно. Результат выводится в файл Smb.txt. Пути к файлам поставьте свои. Для Delphi следует также заменить команды Assign и Close на AssignFile и CloseFile, соответственно. Булева функция L проверяет, является ли символ буквой. Код:
type slovo = array [1..60] of String; var f:Text; C:slovo; D:Char; i,N:integer; function L(Q:Char):boolean; begin L:=((Ord(Q)>64) and (Ord(Q)<91)) or ((Ord(Q)>96) and (Ord(Q)<123)); end; Begin Assign(f,'D:\Sl.txt'); ReSet(f); N:=0; Repeat if Not(EoF(f)) then begin Inc(N); if N>1 then C[N]:=D else C[N]:=''; repeat if Not(EoF(f)) then begin read(f,D); if L(D) then C[N]:=C[N]+D; end; until Not(L(D)) or (EoF(f)); repeat read(f,D); until (L(D)) or (EoF(f)); end; Until EoF(f); Close(f); Assign(f,'D:\Smb.txt'); Rewrite(f); for i:=1 to N do write(f, C[i][Length(C[i])]+' '); Close(f); End. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|