Показать сообщение отдельно
  #3  
Старый 05.05.2011, 23:06
Dima170792 Dima170792 вне форума
Новичок
 
Регистрация: 02.04.2011
Сообщения: 61
Репутация: 10
По умолчанию

Нашол 100% правильный,к томуже работающий вариант-одна проблема-не могу адаптировать под делфи7 пожалуста помогите!
Код:
program z6;
{  Дана строка слов разделенных пробелом ,в конце строки точка.
Поменять местами два центральных слова если их количество четно}
uses crt;
var a,b:string;i,j,l:longint;
    c:array[1..30]of string;
begin
  clrscr;
   write('введите текст: ');readln(a);
   b:='';j:=1;l:=length(a);
   if (a[l]<>'.')then begin
                       writeln(' ОШИБКА!!!');
                       write(' В конце должна стоять точка');
                       readln;halt;
		      end;
   for i:=1 to l do
   if (a[i]=' ')or(a[i]='.')then begin
				  c[j]:=b;b:='';inc(j);
			         end
			    else b:=b+a[i];j:=j-1;
   if j mod 2<>0 then
   beginwrite('количество слов нечетно');readln;halt;end;
    l:=j div 2;b:=c[l];c[l]:=c[l+1];c[l+1]:=b;
   for i:=1 to j do write(c[i],' ');
  readln;
 end.
Ответить с цитированием