Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.05.2019
Сообщений: 8

Найти пару наиболее далеко удаленных слов заданной длины

17.05.2019, 23:35. Показов 4041. Ответов 16

Студворк — интернет-сервис помощи студентам
Расстояние между двумя словами равной длины - это количество позиций, в которых различаются эти слова. В заданном предложении найти пару наиболее далеко удаленных слов заданной длины.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2019, 23:35
Ответы с готовыми решениями:

Найти среди точек пару наиболее удаленных друг от друга
Даны n точек плоскости (x1,y2),...(xn,yn). Найти среди них пару наиболее удаленных друг от друга. ну хоть кто нибудь подскажите как это...

В заданном предложении найти пару наиболее далеко удаленных слов заданной длины
Расстояние между двумя словами равной длины – это количество позиций, в которых различаются эти слова. В заданном предложении найти пару...

Найти пару наиболее удаленных слов заданной длины
В введеном мною предложении (на английском ) найти пару наиболее далеко удаленных слов заданною мною длины. все бы хорошо но я не могу...

16
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
18.05.2019, 09:46
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
uses crt;
const rz=[' ',',','.'];//разделители слов, можно добавить в зависимости от текста
var s:string; //строка
    a:array[1..200] of string;//массив слов
    n,i,j,k,p,mx,imx,jmx:byte;
begin
writeln('Введите предложение');
readln(s);
s:=' '+s; //добавим пробел в начало для удобства
n:=0;//количество слов
i:=2;//начнем со 2 символа, 1 пробел
while i<=length(s) do
if not(s[i]in rz)and(s[i-1]in rz) then //если не разделитель, а перед ним разделитель
 begin
  inc(n); //новое слово
  a[n]:='';//будем его составлять
  j:=i;
  while (j<=length(s))and not(s[j] in rz) do//пока не разделитель
   begin
    a[n]:=a[n]+s[j];
    inc(j);
   end;
  i:=i+length(a[n]); {перешагнем через слово}
 end
else inc(i);{пропускаем разделители}
mx:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if length(a[i])=length(a[j]) then
 begin
  k:=0;
  for p:=1 to length(a[i]) do
  if a[i][p]<>a[j][p] then inc(k);
  if k>mx then
   begin
    mx:=k;
    imx:=i;
    jmx:=j;
   end;
 end;
if mx=0 then write('Нет слов одинаковой длины')
else write('Пара наиболее далеко удаленных слов: ',a[imx],',',a[jmx]);
end.
0
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
14.01.2021, 12:40
Видел подобное решение, не принимают, говорят слишком много лишнего
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
14.01.2021, 12:49
Так это и не Вам писали. Напишите так как Вам нужно.
0
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
14.01.2021, 14:51
Я должен ввести длину слова и предложение, а программа должна найти в этом предложении наиболее удаленные слова заданной длины. Вроде так.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
14.01.2021, 14:55
Аэта программа про это
Цитата Сообщение от Anastasia_S1483 Посмотреть сообщение
Расстояние между двумя словами равной длины - это количество позиций, в которых различаются эти слова.
Так что создайте свою тему где подробно и точно изложите условие задачи, а не
Цитата Сообщение от MCrezo Посмотреть сообщение
Вроде так.
0
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
19.01.2021, 16:03
Привет. А можно пожалуйста сделать этот код так, чтобы разделители не учитывались в нём? Грубо говоря, убрать их из тела программы. Единственным разделителем между слов является пробел.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2021, 16:59
Так убери строку 2 и в строке 18 замени
Pascal
1
not(s[j] in rz)
на
Pascal
1
s[j]<>' '
1
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
19.01.2021, 17:09
Но тогда получается еще 2 строчки, где есть несуществующая переменная.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2021, 17:16
Так замени!!!!!

Добавлено через 6 минут
И стоило из-за какого-то пробела столько времени горло драть.
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
uses crt;
var s:string; //строка
    a:array[1..200] of string;//массив слов
    n,i,j,k,p,mx,imx,jmx:byte;
begin
writeln('Введите предложение');
readln(s);
s:=' '+s; //добавим пробел в начало для удобства
n:=0;//количество слов
i:=2;//начнем со 2 символа, 1 пробел
while i<=length(s) do
if (s[i]<>' ')and(s[i-1]=' ') then //если не пробел, а перед ним пробел
 begin
  inc(n); //новое слово
  a[n]:='';//будем его составлять
  j:=i;
  while (j<=length(s))and (s[j]<>' ') do//пока не пробел
   begin
    a[n]:=a[n]+s[j];
    inc(j);
   end;
  i:=i+length(a[n]); {перешагнем через слово}
 end
else inc(i);{пропускаем разделители}
mx:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if length(a[i])=length(a[j]) then
 begin
  k:=0;
  for p:=1 to length(a[i]) do
  if a[i][p]<>a[j][p] then inc(k);
  if k>mx then
   begin
    mx:=k;
    imx:=i;
    jmx:=j;
   end;
 end;
if mx=0 then write('Нет слов одинаковой длины')
else write('Пара наиболее далеко удаленных слов: ',a[imx],',',a[jmx]);
end.
2
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
19.01.2021, 17:27
Спасибо тебе огромное, во многом помог. Просто много всего навалилось)
0
Модератор
10404 / 5691 / 3400
Регистрация: 17.08.2012
Сообщений: 17,338
19.01.2021, 19:43
Можно покороче и без массива строк.
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
var
  s: string;
  i, pmin, pmax, p, d: integer;
begin
  writeln('Введите строку из слов, разделённых пробелами:');
  readln(s);
  s := ' ' + s + ' ';
  write('Введите длину слова: ');
  readln(d);
  pmin := 0;
  pmax := 0;
  p := 2;
  for i := 2 to length(s) do
    if (s[i] <> ' ') and (s[i+1] = ' ') and (i - p + 1 = d) then
      if pmin = 0 then pmin := p
      else pmax := p
    else
      if (s[i] <> ' ') and (s[i-1] = ' ') then p := i;
  if pmin + pmax = 0 then write('Строка не содержит слов заданной длины')
  else
    if pmax = 0 then write('В строке только одно слово заданной длины: ', copy(s, pmin, d))
    else
      begin
        writeln('Наиболее удалённые слова заданной длины:');
        write(copy(s, pmin, d), ' и ', copy(s, pmax, d))
      end;
  readln
end.
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.01.2021, 19:53
Цитата Сообщение от Anastasia_S1483 Посмотреть сообщение
слов заданной длины.
Я это не дочитал.
1
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
19.01.2021, 21:07
Благодарю!

Добавлено через 13 секунд
Благодарю еще раз)
0
0 / 0 / 0
Регистрация: 12.01.2021
Сообщений: 30
21.01.2021, 18:19
Cyborg Drone,
Возможно я тут уже надоел всем, но есть возможно это исправить чтобы длинна слова не вводилась и количество букв не имело значение? То есть, чтобы он просто находил наиболее удаленные слова.
Грубо говоря, если есть слова *кирпич букварь два*, то кирпич и два будут наиболее удаленные. Ну или если есть цифры *9876 123 76*, то наиболее удаленные будут 9876 и 123.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
22.01.2021, 09:40
извини, что бесцеремонно врываюсь в чужой разговор, но это же форум, публичное обсуждение, поэтому, могу себе позволить такое поведение.


Цитата Сообщение от MCrezo Посмотреть сообщение
есть возможно это исправить чтобы длинна слова не вводилась и количество букв не имело значение?
MCrezo, я тебе уже не однократно говорил, что для этого нужно задать правила вычисления расстояния между двумя словами. У тебя это расстояние описывается так:
Цитата Сообщение от MCrezo Посмотреть сообщение
Расстояние между двумя словами равной длины – это количество букв, в которых различаются эти слова.
слова "между словами РАВНОЙ длины" у себя в задании видишь?
Какие вопросы?

Добавлено через 4 минуты
Цитата Сообщение от MCrezo Посмотреть сообщение
Грубо говоря, если есть слова *кирпич букварь два*, то кирпич и два будут наиболее удаленные.
говоря твоим языком,
грубо говоря, объясни, как ты определил, что слова "кирпич" и "два" - наиболее удалены? Кстати, насколько удалены слова "кирпич" и "два" ?
на насколько удалены слова "букварь" и "два" ?
а слова "кирпич" и "букварь" насколько удалены?
ты хочешь, чтобы программа посчитала то, что ты сам не знаешь, как считать? это неверный подход. Во главе стоит правило рассчёта (читай - алгоритм рассчёта), вот тогда и пишется программа, когда алгоритм рассчёта известен.
А так получается - пойди туда, не знаю куда, принеси то, не знаю, что.
0
Модератор
10404 / 5691 / 3400
Регистрация: 17.08.2012
Сообщений: 17,338
23.01.2021, 19:29
Ответил в теме Строка: Найти наиболее удаленную друг от друга пару слов в предложении.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2021, 19:29
Помогаю со студенческими работами здесь

В массиве точек найти пару наиболее удаленных
В массиве точек найти пару наиболее удаленных. Как сделать???

Определить пару наиболее удаленных друг от друга точек
Четыре точки заданны координатами А(4,8,2) ; В(-6,5,I.2) ; С(-3,7,-4.5) ; D(7,8,2). Определить пару наиболее удаленных друг от друга точек...

Определить пару наиболее удаленных друг от друга окружностей
помогите решить задачу. На плоскости задано n произвольно расположенных окружностей. Определить пару наиболее удаленных друг от друга...

Определить пару наиболее удаленных друг от друга позиций массива
Определить пару наиболее удаленных друг от друга позиций массива, в которых располагаются совпадающие элементы.

Строка: Найти количество слов заданной длины
Дана строка символов, состоящая из нулей, единиц и пробелов. Группы нулей и единиц, разделенные пробелами (одним или несколькими) и не...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru