• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Type и символьные массивы

Gasphord

Ученик
Регистрация
15 Окт 2019
Сообщения
9
Реакции
0
Баллы
0
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
 
Постараюсь помочь, чем могу.
К сожалению, на 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.
 
Назад
Сверху