IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сортировка слов в строке
сНежная
сообщение 3.01.2007 23:06
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Женский

Репутация: -  0  +


Помогите решить задачку smile.gif
Вводится произвольное кол-во слов в строку, программа выводит кол-во слов в строке и переставляет местами слова (1 со 2, 3 с 4 и т.д), если перед первым словом пробел, или между словами более одного пробела, то выдается сообщение о ошибке и предлагается начать сначала.

//в строке переставить местами рядом стоящие слова(1 со 2, 3 с 4, и т.д.) Дана
//дана строка, нач. не пробелом, между словами по 1 пробелу,
//и строка закан. буквой

program ctroca;
{$APPTYPE CONSOLE}
uses
SysUtils;
var s,s1,temp:string;
s2:array[1..25]of string;
p,k,n,i,t:integer;
begin
writeln('Vvedite text');
readln(s);
writeln;
k:=1;
n:=1;
p:=0;
s1:='';

for i:=1 to length(s) do
begin
if (s[i]<>' ')and(s[i+1]=' ')
then inc(k);
end;

for i:=1 to length(s) do
begin
if (s[i]<>' ')
then begin
insert(s[i],s1,n);
inc(n);
end;
if (s[i]=' ') or (i=length(s))
then begin
n:=1;
inc(p);
s2[p]:=s1;
s1:='';
end;
end;

if

for i:=1 to length(s) do
if (s[i]=' ') and (s[i+1]=' ')
then begin
writeln('Error!!!!');
s:='';
writeln('Mnogo probelov ');
writeln('Vvedite text :');
readln(s);
for i:=1 to Length(s) do
begin
if (s[i]<>' ')and(s[i+1]=' ')
then inc(k);
end;
end;
end;

if s[1]=' '
then begin
writeln('Error!!!!');
writeln('Nachalo probel ');
writeln('Vvedite text :');
readln(s);
for i:=1 to Length(s) do
begin
if (s[i]<>' ')and(s[i+1]=' ')
then inc(k);
end;
end;
writeln('Kol-vo slov: ',k);

readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
arhimag
сообщение 3.01.2007 23:39
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 424
Пол: Мужской

Репутация: -  2  +


Код
program Project2;


var s : string;
var arr : array [1..256] of string;
var c : integer;
var slov : integer;
function make_words(s:string):boolean;
var i: integer;
begin
  slov:=1;
  c:=1;
  make_words:=false;
  i:=1;
  while (i<=length(s)) and (s[i]=' ') do
    inc(i);
  while i<=length(s)do begin
    if (s[i]=' ') and (i<length(s)) and (s[i+1]=' ') then exit;
    if (s[i] in ['A'..'z']) then arr[c]:=arr[c]+s[i];
    if (s[i]=' ') then begin inc(c); inc(slov); end;
    inc(i);
  end;
  if s[length(s)]=' ' then begin dec(c); dec(slov); end;
  make_words:=true;
end;
var flag : boolean;
i : integer;
tmp : string;
begin
  readln(s);
  flag:=make_words(s);
  if (flag) and (c>1) then begin
    for i:= 1 to ((c)div 2) do begin
      tmp:=arr[i*2-1];
      arr[i*2-1]:=arr[i*2];
      arr[i*2]:=tmp;
    end;
    for i:=1 to c do write(arr[i],' '); writeln; writeln('slov:',slov);
  end else
    if (c=1) and (flag) then begin
      writeln(s); writeln(1);
    end else
      writeln('Strashnij error!!!');
  readln;
end.


вот теперь все ок smile.gif


--------------------
Чего хочет женщина – того хочет Бог
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
сНежная   Сортировка слов в строке   3.01.2007 23:06
мисс_граффити   1. Пользуйся тэгами. 2. Приведи пример строки, кот...   3.01.2007 23:16
arhimag   var s : string; var arr : array [1..2...   3.01.2007 23:26
сНежная   У меня считает кол-во слов, а местами не меняет   3.01.2007 23:26
сНежная   @-что означает?(dec©)   3.01.2007 23:31
arhimag   если будут вопросы, спрашивай   3.01.2007 23:27
Bokul   Не работает:   3.01.2007 23:30
arhimag   извини багу нашел, ща правлю (с) означает...   3.01.2007 23:34
Bokul   Глюк форума - поставь dec и в дужках с dec( с )...   3.01.2007 23:35
arhimag   program Project2; var s : string; var arr ...   3.01.2007 23:39
Bokul   Ты еще одно условие забыл: :)   3.01.2007 23:40
сНежная   Работает, но частично!Строка считывается, кол-...   3.01.2007 23:42
Bokul   сНежная, а ты внимательно смотрела? Все работает, ...   3.01.2007 23:45
arhimag   черт :) program Videlenieslovzamenachetnogonanech...   3.01.2007 23:49
сНежная   Работает! Огромное спасибо! Сейчас буду пы...   3.01.2007 23:57
klem4   const max_words = 128; type TWords = array [1..m...   4.01.2007 12:02
arhimag   klem4 , я не уверен что автор темы знает функции C...   4.01.2007 13:27
volvo   Опять за флейм? :mad: А насчет Length ты что, уве...   4.01.2007 13:32


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"