Определить длину строки и количество букв "а" в ней - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста найти ошибку. Не выводятся инициалы. Задача: Ввести ф.и.о. Определить длину строки и кол-во букв "а" в ней. Вывести три буквы (инициалы) с точками. Вот что есть:
var s,s1,a,b:string;
    n,i,k:byte;
    begin
writeln('Введите фамилию, имя и отчество');
readln(s);
n:=length(s);
writeln('Длина строки=',n);
k:=0;
for i:=1 to n do
if s[i] in ['a','а'] then k:=k+1;
writeln('Количество букв а=',k);
s1:='';
i:=pos(' ',s)+1;
while s[i]<>' ' do
 begin
  s1:=s1+s[i];
  i:=i+1;
 end;
 
b:=a[1]+'.';
b:=b+a[pos(' ',a)+1]+'.';
delete(a,1,pos(' ',a));
delete(a,1,pos(' ',a)-1);
b:=b+a[pos(' ',a)+1]+'.';
writeln(b);
readln;
 
end.

Решение задачи: «Определить длину строки и количество букв "а" в ней»

textual
Листинг программы
{ Ввести ф.и.о. Определить длину строки и кол-во букв "а" в ней.
Вывести три буквы (инициалы) с точками.}
 
var
  s,s1:string;
  n,i,k:byte;
begin
  writeln('Введите фамилию, имя и отчество');
  readln(s);
  n:=length(s);
  writeln('Длина строки=',n);
  k:=0;
  for i:=1 to n do
    if s[i] in ['а','А'] then
      k:=k+1;
  writeln('Количество букв а=',k);
  s1:=s[1]+'.';
  s1:=s1+s[pos(' ',s)+1]+'.';
  delete(s,1,pos(' ',s));
  delete(s,1,pos(' ',s)-1);
  s1:=s1+s[pos(' ',s)+1]+'.';
  writeln(s1);
  readln;
end.

Объяснение кода листинга программы

  1. Вводится строка с фамилией, именем и отчеством.
  2. Определяется длина строки с помощью функции LENGTH.
  3. Считается количество букв а в строке с помощью цикла и оператора IN.
  4. Выводится длина строки и количество букв а.
  5. Создается новая строка S1, которая содержит три первые буквы (инициалы) с точками.
  6. Удаляются первые две буквы и пробел после первой буквы из исходной строки.
  7. Выводится новая строка S1.
  8. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы