Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
43 / 43 / 33
Регистрация: 05.12.2011
Сообщений: 201

Дана последовательность слов. Вывести на экран те слова последовательности, которые отличны от последнего слова

07.03.2012, 20:07. Показов 1423. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не работает программа по условию: Дана последовательность слов. Вывести на экран те слова последовательности, которые отличны от последнего слова и удовлетворяют свойству: слово симметрично. На 32 строке ошибка: Индекс выходит за границы массива
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program pg_2013;
function polstr (s: string): boolean;
var n,
i: byte;
begin polstr := true;
n := length (s);
for i := 1 to n div 2 do
if s[i] <> s[n-i+1]
then begin polstr := false;
exit;
end;
end;
var
  i,j,k,l,n:integer;
  s,st,x:string;
  flag:boolean;
begin
  randomize;
    readln(st);
  for i:=1 to length(st) do
    if st[i]=' ' then l:=i;
  j:=0;
  for i:=l to length(st) do begin
    j:=j+1;
    s:=s+st[i];
  end;
  st:=' '+st;
  for i:=1 to length(st) do begin
    if st[i]=' ' then begin
      x:='';
      j:=i+1;
      while st[j]<>' ' do begin 
        x:=x+st[j];
        j:=j+1;
      end;  
      for k:=1 to length(s) do
        if s[k]<>x[k] then
          if polstr(x)=true then writeln(x);
     end;
   end;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2012, 20:07
Ответы с готовыми решениями:

Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: в слове
Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему...

Дана строка, состоящая из слов, разделенных пробелами. Вывести слова этой строки, которые отличны от последнего слова
ана строка, состоящая из слов, разделенных пробелами. Вывести слова этой строки, которые отличны от последнего слова. Ввожу: &quot;aa bb cc...

Дана последовательность. Напечатать все слова последовательности, которые отличны от последнего слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных русских букв; между соседними словами -...

3
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.03.2012, 20:53
У Вас бардак с индексами, где i, где j, фиг поймет программа...
И вообще лучше не работать с циклом for.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
program pg_2013;
uses crt;
function polstr (s: string): boolean;
var n,i: byte;
    f:boolean;
begin
f:= true;
n := length (s);
i:=1;
while(i<=n div 2) and f do
if s[i] <> s[n-i+1] then f := false
else i:=i+1;
polstr:=f;
end;
 
var i,j,k,l,n:integer;
    st,s,x:string;
    flag:boolean;
begin
writeln('Введите последовательность слов, разделенных пробелами');
readln(st);
while st[length(st)]=' ' do //удалим пробелы в конце, если они есть
delete(st,length(st),1);
s:=''; //составим последнее слово
i:=length(st);
while st[i]<>' ' do
 begin
  s:=st[i]+s;
  i:=i-1;
 end;
n:=i; //длина без последнего слова
i:=1;
k:=0;
writeln('Симметричные слова, отличные от последнего');
while i<=n do
if(st[i]<>' ')and((i=1)or(st[i-1]=' ')) then
 begin
  x:='';
  j:=i;
  while (j<=n) and(st[j]<>' ') do
   begin
    x:=x+st[j];
    j:=j+1;
   end;
  if (x<>s)and polstr(x) then
   begin
    write(x,' ');
    k:=1;
   end;
  i:=i+length(x);
 end
else i:=i+1;
if k=0 then write('Таких слов нет');
end.
1
43 / 43 / 33
Регистрация: 05.12.2011
Сообщений: 201
09.03.2012, 09:25  [ТС]
Puporev, спасибо большое, а почему такая ошибка возникает, только лишь из-за индексов?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
09.03.2012, 11:23
Не разбирался, просто заметил что по крайней мере в одном месте спутаны индексы i,j
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2012, 11:23
Помогаю со студенческими работами здесь

Вывести на экран те слова, которые отличны от последнего слова текста и первая буква этого слова входит в него еще раз
Помогите, пожалуйста, с заданием. Что-то туговато у меня идет работа со строками. Более менее я нашел последнее слово, а дальше не...

Строка: Вывести те слова последовательности, которые отличны от последнего слова
4)Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами –...

Вывести те слова последовательности, которые отличны от последнего слова
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами –...

Вывести те слова последовательности, которые отличны от последнего слова
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами –...

Вывести на экран те слова, которые отличны от последнего слова первой строки текста и симметричны
Вывести на экран те слова, которые отличны от последнего слова первой строки текста и симметричны.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru