Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2010, 23:33   #1
<Tyz>
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 16
По умолчанию Символы и строки [Паскаль]

Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова (разделенные одним пробелом), но расположенные в алфавитном порядке.
<Tyz> вне форума Ответить с цитированием
Старый 19.12.2010, 00:39   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,715
По умолчанию

http://programmersforum.ru/forumdisplay.php?f=29
p51x вне форума Ответить с цитированием
Старый 19.12.2010, 01:08   #3
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Код:
for i:=1 to length(s) do 
  if s[i] in [{множество русских букв}] then s1[k]:=s1[k]+s[i]
  else if length(s1[k])>0 then k:=k+1;
for j:=1 to k-1 do
for i:=1 to k-1 do
  if s1[i]>s1[i+1] then begin
    s:=s1[i];
    s1[i]:=s1[i+1];
    s1[i+1]:=s;
  end;
Если нужны полные тексты программ(не бесплатно), то пиши в асю 600-927-970
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 19.12.2010, 12:22   #4
<Tyz>
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 16
По умолчанию

Код:
CONST
 max_words = 120;
VAR
  S, temp: String;
  s_array: array[1..max_words] of String;
  count: Integer;
  i, j, len, beg_of_word : Integer;
BEGIN

  s := 'hfdh ashj aasd  dh  ';
  while (s <>'') and (POS('  ',s)<>0) do
   delete(s, POS('  ',s), 1);


  i:=1;
  len := length(s);
  count := 0;
  while i < len do
  begin
    if s[i] <> ' 'then
    begin
      inc(count);
      beg_of_word := i;
      s_array[count] := '';
      while (s[i] <> ' ') and (i < len) do
      begin
        s_array[count] := s_array[count] + s[i];
        inc(i);
      end;
    end;
    inc(i);
  end;
  if count <> 0 then
  begin

   for i:=1 to count-1 do
     for j:=i+1 to count do
        if s_array[j] < s_array[i] then
        begin
          temp := s_array[j];
          s_array[j] := s_array[i];
          s_array[i] := temp
        end
  end;
  WriteLn(s);
  for i:=1 to count do
    Write(s_array[i],' ');
  WriteLn;
END.
вот есть программа, но она написана заумно и я не пойму работает она или нет

Последний раз редактировалось Stilet; 19.12.2010 в 14:48.
<Tyz> вне форума Ответить с цитированием
Старый 19.12.2010, 12:28   #5
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Проверь: позапускай с различными исходными данными и смотри результаты (правильные или нет)
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 19.12.2010, 12:30   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от <Tyz> Посмотреть сообщение
...


вот есть программа, но она написана заумно и я не пойму работает она или нет
А ты не пробовал ее запустить , что бы понять работает она или нет ?
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 12:40   #7
<Tyz>
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 16
По умолчанию

пробовал, она работает, но она заумно написано, как можно ее проще написать?
<Tyz> вне форума Ответить с цитированием
Старый 19.12.2010, 12:51   #8
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от <Tyz> Посмотреть сообщение
пробовал, она работает, но она заумно написано, как можно ее проще написать?
На каком языке она написана , да и что она точно должна делать , если то что написано в первом сообщение и если это паскаль , то она не работает
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 19.12.2010, 12:57   #9
<Tyz>
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 16
По умолчанию

Код:
CONST
 max_words = 120;
VAR
  S, temp: String;
  s_array: array[1..max_words] of String;
  count: Integer;
  i, j, len, beg_of_word : Integer;
BEGIN

  s := 'бвкщ вгдп азжх  гж  ';
  while (s <>'') and (POS('  ',s)<>0) do
   delete(s, POS('  ',s), 1);


  i:=1;
  len := length(s);
  count := 0;
  while i < len do
  begin
    if s[i] <> ' 'then
    begin
      inc(count);
      beg_of_word := i;
      s_array[count] := '';
      while (s[i] <> ' ') and (i < len) do
      begin
        s_array[count] := s_array[count] + s[i];
        inc(i);
      end;
    end;
    inc(i);
  end;
  if count <> 0 then
  begin

   for i:=1 to count-1 do
     for j:=i+1 to count do
        if s_array[j] < s_array[i] then
        begin
          temp := s_array[j];
          s_array[j] := s_array[i];
          s_array[i] := temp
        end
  end;
  WriteLn(s);
  for i:=1 to count do
    Write(s_array[i],' ');
  WriteLn;
END.
написана на паскале, вот заменил английскую строку на русскую, запускаю её на PascalABC. бвкщ вгдп азжх гж -> азжх бвкщ вгдп гж

Последний раз редактировалось Stilet; 19.12.2010 в 14:49.
<Tyz> вне форума Ответить с цитированием
Старый 19.12.2010, 13:12   #10
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Я запустил программу , вот что она выдает .

Цитата:
бвкщвгдпазжхгж
бвкщвгдпазжхг
Откуда ты взял результаты я не знаю .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строки и символы AlinAA Фриланс 3 17.05.2018 14:08
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Символы и строки паскаль! Korun Помощь студентам 1 18.12.2009 11:02
Символы и строки(ПАСКАЛЬ) Таня.Ку Помощь студентам 2 14.12.2009 21:59
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27