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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 14:42   #1
TLiX
Новичок
Джуниор
 
Регистрация: 31.03.2012
Сообщений: 2
По умолчанию Переставить слова в предложении в обратном порядке

ошибка.jpgЗадача заключается в следующем:
"Переставить слова в каждом предложении в обратном порядке"
Есть готовая программа на бэйсике
Код:

DIM i AS INTEGER, n AS INTEGER, m AS INTEGER, k AS INTEGER, f AS INTEGER
DIM S(1 TO 100) AS STRING, T(1 TO 100) AS STRING, p(1 TO 100) AS STRING
i = 0
PRINT "‚ўҐ¤ЁвҐ ⥪бв:"
DO
i = i + 1
INPUT S(i)
S(i) = S(i) + " "
LOOP UNTIL S(i) = " "
p(1) = ""
n = 1
FOR k = 1 TO i - 1
m = 1
DO WHILE m < LEN(S(k)) + 1
p(n) = p(n) + MID$(S(k), m, 1)
IF MID$(S(k), m, 1) = "." THEN
PRINT p(n)
n = n + 1
p(n) = ""
END IF
m = m + 1
LOOP
NEXT k
FOR k = 1 TO n - 1
T(1) = " "
m = 1
FOR i = 1 TO LEN(p(k)) - 1
T(m) = T(m) + MID$(p(k), i, 1)
IF MID$(p(k), i, 1) <> " " AND MID$(p(k), i + 1, 1) = " " OR MID$(p(k), i, 1) <> "." AND MID$(p(k), i + 1, 1) = "."
THEN
m = m + 1
T(m) = " "
END IF
NEXT i
FOR j = m - 1 TO 1 STEP -1
PRINT T(j);
NEXT j
PRINT "."
NEXT k
END
и есть "хромая" программа на паскале

Код:
var
s:array[1..50] of string;
t:array[1..50] of string;
p:array[1..50] of string;
i,n,m,j,k,f:integer ;
begin
  i:=0; 
  writeln('Vvod: ');
   repeat
    i:=i+1;
    readln (s[i]);
    s[i]:=s[i]+' '
   until s[i]=' ';
  p[1]:=' ';
  n:=1;
   for k:=1 to i-1 do
    begin
      m:=1;
       while m < length(s[k])+1 do
        begin
          p[n]:=p[n]+copy(s[k],m,1);
           if copy(s[k],m,1)='.' then
            begin
              writeln( p[n]);
              n:=n+1;
              p[n]:=''
            end;
          m:=m+1 
        end
end;
 for k:=1 to n-1 do
  begin
    T[1]:=' ';
    m:=1;
     for i:=1 to Length(p[k])-1 do
      begin
        t[m]:=t[m]+copy(p[k],1,i);
         if (p[k,i] <> ' ') and (p[k,i+1] = ' ') or (p[k,i] <> '.') and (p[k,i+1]= '.') then
          begin
            m:=m+1;
            t[m]:=' '
          end
      end
      for j:=m-1 downto 1 do
       begin
         write(t[j])
       end;
    writeln ('.')
 end;
readln
end.
Все не могу никак найти ошибку в ней. Надеюсь, что кто-нибудь откликнется, просто пройдя по программе. Я думаю, где-то с циклами облажался. Но вот, ей богу, никак не могу найти где.

Делает непонятно что -.-
ошибка.jpg



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось TLiX; 31.03.2012 в 20:22.
TLiX вне форума Ответить с цитированием
Старый 31.03.2012, 19:57   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Почему все думают, что тут сидят телепаты? Неужели так сложно написать, какую ошибку выдает программа или, если она не выдает ошибку, то почему вы думаете, что она не работает? Это было бы гораздо действеннее, чем "апанье" темы.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переставить строки в обратном порядке на фортране Александррррррр Помощь студентам 0 18.12.2011 19:38
переставить слово в предложении tane4kina Microsoft Office Word 0 19.12.2010 20:47
Ученики зашифровывают свои записки, записывая все слова наоборот и расставляя их в предложении в обратном Feran Помощь студентам 1 09.04.2010 03:39
В обратном порядке mari.ha Общие вопросы C/C++ 7 25.12.2008 21:36
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18