Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Type и символьные массивы (http://www.tehnari.ru/f43/t266108/)

Gasphord 28.10.2019 23:06

Type и символьные массивы
 
Выведите текст,составленный из последних букв всех слов списка C.
Помогите дописать программу, застрял и не понимаю что делать.
Код:

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;

Delphi 10.3

Vladimir_S 29.10.2019 12:02

Постараюсь помочь, чем могу.
К сожалению, на 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.



Часовой пояс GMT +4, время: 11:51.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.