Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519

Строки

17.09.2010, 20:37. Показов 2477. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Пользователь вводит несколько русских слов через пробел. Нужно упорядочить их лексикографически. Что это значит? По смыслу?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2010, 20:37
Ответы с готовыми решениями:

Определить длину строки. Если длина строки >6, удалить часть строки в { } скобках.
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину...

Строки. Определить длину введенной строки, если длина кратна 4, то первая часть строки меняется местами со второй
Ввести с клавиатуры строку символов.признак окончания ввода строки-нажатие клавиши ввод.Программа должна определить длину введенной строки...

Строки. Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1
Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1.В строке S подсчитать кол-во вхождений строки S1.

31
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
19.09.2010, 14:51  [ТС]
Студворк — интернет-сервис помощи студентам
Посмотрите пожалуйста! Почему в 21-й строке ошибка?

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
uses crt;
var s1,s2,tmp:string;
    i,j,k:byte;
    c:char;
begin
clrscr;
writeln('Введите последовательность слов, разделенных пробелами');
readln(s1);
 if s1[1]<>' ' then j:=1;
  for i:=2 to length(s1) do
   begin
    if (s1[i-1]=' ') and (s1[i]<>' ') then j:=i
     else if ((i=length(s1)) and (s1[i]<>' ')) or
      ((s1[i]<>' ') and (s1[i+1]=' ')) then
        begin
         if (i-j) mod 2=1 then
    continue;
     tmp:=copy(s1,j,i);
      for k:=1 to length(tmp) div 2 do
       begin
  if (tmp[k]<>tmp[length(tmp)/2+k]) then
   break;
    if (k=length(tmp)/2) and (tmp[k]=tmp[length(tmp)])
     s2:=s2+ tmp;
      end
       else
        begin
         s2:=s1+s2[i];
         end;
         end;
          writeln(s2);
          end.
0
 Аватар для lera8
636 / 219 / 64
Регистрация: 03.11.2009
Сообщений: 488
19.09.2010, 14:56
Ногин Антон, вы пытаетесь поделить
Цитата Сообщение от Ногин Антон Посмотреть сообщение
length(tmp)/2
в результате получается вещественное число а индексом строковой переменной может быть только целое число. если нужно делить то используйте
Pascal
1
div 2
1
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
19.09.2010, 15:05  [ТС]
Спасибо!

А что означает ошибка "laba5.pas(26,7) Fatal: Syntax error, ";" expected but "ELSE" found
"?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
19.09.2010, 15:06
Ногин Антон, лишний end
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.09.2010, 15:07
наверное так
Pascal
1
2
if (k=length(tmp) div 2) and (tmp[k]=tmp[length(tmp)]) then  s2:=s2+ tmp;
else
0
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
19.09.2010, 15:14  [ТС]
iama, где именно?

Puporev, там же выдаёт ошибку...
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.09.2010, 15:21
Ногин Антон, Я предположил, там у вас почти все написано неправильно и понять точно где ошибка невозможно.

Добавлено через 5 минут
Я поражаюсь насколько тупо можно изуродовать готовый рабочий код.
0
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
21.09.2010, 18:02  [ТС]
Подскажите пожалуйста, как поместить первую букву на последнее место в слове.
Заранее большое спасибо!
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
21.09.2010, 18:06
Pascal
1
2
3
4
function SetFirstCharLast(s: string): string;
begin
SetFirstCharLast := Copy(s, 2, Length(s) - 1) + s[1];
end;
0
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
21.09.2010, 18:09  [ТС]
А нельзя обойтись без функций?
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
21.09.2010, 18:51
Ногин Антон, а нельзя подумать, и переписать код под свои нужды? тем более, его тут 1 строчка.
Коли совсем в ломы, хоть отпишите, в каком виде его нужно представить. например:
Pascal
1
s := Copy(s, 2, Length(s) - 1) + s[1];
изменяет переменную s нужным вам образом.
1
 Аватар для Ногин Антон
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
21.09.2010, 20:36  [ТС]
Всё получилось! Большое спасибо!

Добавлено через 1 час 34 минуты
А как сделать для нескольких слов? (здесь вводятся слова, симметричные удаляются, а в оставшихся нужно первую букву поставить в конец слова)

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
program laba5;
uses crt;
 
var s1: string;
    i, j, k, len: integer;
 
begin
clrscr;
writeln('Vvedite slova cherez probel');
 readln(s1);
  if s1[1] <> ' '
   then j := 1;
    for i := 2 to length(s1) do
    begin
      if (s1[i-1] = ' ') and (s1[i] <> ' ') then
           j := i
 else if ((i = length(s1)) and (s1[i] <> ' '))
  or ((s1[i] <> ' ') and (s1[i + 1] = ' '))
   then
   begin
    if i - j mod 2 = 0 then
     continue;
len := (i - j + 1 ) div 2;
 for k := 1 to len do
  begin
   if s1[k + j] <> s1[len + k + j] then
    break;
    if (k = len - 1) and (s1[k + j] = s1[len + k + j]) then
     delete(s1, j, len * 2);
        end;
        end;
    end;
        
        s1:=s1 + copy(s1, 2, 1);
            delete(s1, 2, 1);
 
        writeln(s1);
    readln;
end.

Не соображу, как сделать для нескольких слов.

Заранее большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2010, 20:36

Строки. Даны строки S и So. Найти количество вхождений строки So в строку S
Помогите пожалуйста, как сделать эту задачу без этих вот строчек... B:=TRUE; и без команды INC... Вот условие задачи: Даны строки S и...

Строки. Удалить часть символьной строки,заключенной в скобки (вместе со скобками)
Удалить часть символьной строки,заключенной в скобки(вместе со скобками).

Строки. Из строки символов удалить символы, отличных от русских букв и пробелов
Задана строка из произвольного количества слов, разделенных пробелами. Из заданной строки символов удалить символы, отличных от русских...

Нахождение длины той части строки s, которая не содержит символы из строки s1
Разработать процедуру или функцию, выполняющую заданную операцию над данными типа string языка Pascal. Предусмотреть и описать реакцию на...

Прибавление к элементам какой-либо строки массива элементов другой строки
Разработать подпрограмму прибавления к элементам какой-либо строки массива элементов другой строки.В массиве А(К на М) к первой строке...


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru