Решение задачи №2 из главы 16

Решение задачи №2 из главы 16

Пользователь вводит произвольную строку, выведите на экран каждый пятый символ или сообщение об ошибке, если строка состоит менее чем из 5 символов.

Вывод консоли (не совсем то)
vvedite proizvolnuy stroku:
iiiiiiiiiii
Ochibka
Ochibka
Ochibka
Ochibka
Piatii simvol 5
Piatii simvol 10
var s: string;
    i, n: integer;
begin
  writeln('vvedite proizvolnuy stroku:');
  readln(s);

  n := 0; // значение по умолчанию (инициализация переменной)

  for i:=1 to length(s) do // обходим символы строки
  begin
    n := n + 1;
    if ((i mod 5)=0) then
        writeln('Piatii simvol ', i)
     else
       begin
         if (i < 5) then
            writeln('Ochibka');
       end;
   end;
   readln();
end.
    
vedro-compota's picture

чтобы определить что произошла ошибка, не нужно запускать цикл.

_____________
матфак вгу и остальная классика =)

gani84's picture

Вывод консоли
vvedite proizvolnuy stroku:
qwerty
Piatii simvol t
var s: string;
    i, n: integer;
begin
  writeln('vvedite proizvolnuy stroku:');
  readln(s);
  n := 0; // значение по умолчанию (инициализация переменной)
  for i:=1 to length(s) do // обходим символы строки
  begin
    n := n + 1;
    if ((n mod 5)=0) then
         writeln('Piatii simvol ', s[i]);
  end;
  readln();
   end.
vedro-compota's picture

, если строка состоит менее чем из 5 символов.

-- начните с этой проверки.

length(s) >= 5

_____________
матфак вгу и остальная классика =)

gani84's picture

Вывод консоли
vvedite proizvolnuy stroku:
qwertyuiopasdfghjkl
Piatii simvol: t
Piatii simvol: p
Piatii simvol: g
var s: string;
    i, n: integer;
begin
  writeln('vvedite proizvolnuy stroku:');
  readln(s);
  n := 0; // значение по умолчанию (инициализация переменной)
  if (length(s)<=5) then
       writeln('Ochibka')
  else
    begin
     if  (length(s)>5) then
       begin
        for i:=1 to length(s) do // обходим символы строки
          begin
           n := n + 1;
           if ((n mod 5)=0) then
              writeln('Piatii simvol: ', s[i]);
          end;
         end;
      end;
  readln();
end.
     
vedro-compota's picture

for i:=1 to length(s) do // обходим символы строки
          begin
           n := n + 1;
           if ((n mod 5)=0) then
              writeln('Piatii simvol: ', s[i]);
          end;
         end;

-- тут есть лишняя переменная

_____________
матфак вгу и остальная классика =)

gani84's picture

Вывод консоли

vvedite proizvolnuy stroku:
qwertyuiopasdfghjkl
Piatii simvol: t
Piatii simvol: p
Piatii simvol: g
var s: string;
    i: integer;
begin
  writeln('vvedite proizvolnuy stroku:');
  readln(s);
  if (length(s)<=5) then
       writeln('Ochibka')
  else
    begin
     if  (length(s)>5) then
       begin
        for i:=1 to length(s) do // обходим символы строки
          begin
           if ((i mod 5)=0) then
              writeln('Piatii simvol: ', s[i]);
          end;
         end;
      end;
  readln();
end. 
vedro-compota's picture

решение засчитано

_____________
матфак вгу и остальная классика =)