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

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

07.03.2012, 20:07. Показов 1405. Ответов 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
64314 / 47610 / 32744
Регистрация: 18.05.2008
Сообщений: 115,168
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
64314 / 47610 / 32744
Регистрация: 18.05.2008
Сообщений: 115,168
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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru