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

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите пожалуйста с программой на строки. Паскаль (http://www.tehnari.ru/f43/t92668/)

anni 28.11.2013 19:40

Помогите пожалуйста с программой на строки. Паскаль
 
Дана, последовательность, содержащая от 2 до 30 слов,в каждом из которых от 2 до 5 латинских букв, между соседними словами-запятая, за последним словом-точка. Преобразовать последовательность следующим образом:
а)из каждого слова нечетной длины удалить его среднюю букву;
б) в середину каждого слова четной длины вставить букву "а".

anni 28.11.2013 20:19

Помогите пожалуйстааа:tehnari_ru_837:

Vladimir_S 28.11.2013 20:22

Цитата:

Сообщение от anni (Сообщение 974534)
Дана, последовательность, содержащая от 2 до 30 слов,в каждом из которых от 2 до 5 латинских букв, между соседними словами-запятая, за последним словом-точка. Преобразовать последовательность следующим образом:
а)из каждого слова нечетной длины удалить его среднюю букву;
б) в середину каждого слова четной длины вставить букву "а".

Пожалуйста, никаких проблем:
Код:

var
 S:string;
 i,j,N,L: integer;
 W:Array[1..255] of String;
 C:Char;

Begin
 writeln('Enter the string: ');
 readln(S);
 N:=1;
 i:=0;
 Repeat
  Inc(i);
  W[N]:='';
  While (S[i]<>',') and (S[i]<>'.') do
  begin
    W[N]:=W[N]+S[i];
    Inc(i);
  end;
  If S[i]<>'.' then Inc(N);
 Until S[i]='.';

 For i:=1 to N do
  begin
  L:=Length(W[i]);
  if (L mod 2)=0 then
    Insert('a',W[i],(L div 2)+1)
  else
    Delete(W[i],(L div 2)+1,1);
  end;
 For i:=1 to N do
  if i<N then Write(W[i]+',') else Write(W[i]+'.');
 Writeln;
 Readln
End.


anni 28.11.2013 21:04

Спасибо:) Но вот только он выдает ошибку 96 много переменных(( что делать?

anni 28.11.2013 21:29

Если я меняю тип или [1..255] эти значения пишет ошибка диапазона((:tehnari_ru_837:

anni 28.11.2013 22:48

Все работает, разобралась:) Спасибо!!!


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

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