Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
iffy
0 / 0 / 0
Регистрация: 17.04.2018
Сообщений: 7
1

Работа со строками

27.05.2018, 14:41. Просмотров 149. Ответов 2
Метки нет (Все метки)

Добрый день! Как всегда, срочно нужна ваша помощь!

Суть поставленной задачи: Вводишь строку через пробелы: Как же я люблю Turbo Pascal. (пользователь может ввести не 1 пробел, а 2 и более между словами). Нужно ее отредактировать в нормальную строку(Слово_пробел_слово и т.д.). Далее, когда строка отредактирована, пользователь вводит число слова, перед которым хочет поставить эту цифру, например, число 2. И программа, перед вторым словом "же" ставит число 2 - "Как 2 же я люблю Turbo Pascal". ( еще для примера: число слова 5 - "Как же я люблю 5 Turbo Pascal"). Но, если слов в строке меньше, чем заданное число, то это число нужно поставить перед последним словом( число слова 10 - "Как же я люблю Turbo 10 Pascal").

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
program cyber;
uses crt;
Var s,s1:String;
    i,n:integer;
Begin
clrscr;
    write('Vvedite stroky(cherez probel): ');
    readln(s);
    write('Vvedite nomer slova dlya vyvoda: ');
    readln(n);
    while pos('  ',s)>0 do
    delete(s,pos('  ',s),1);
    writeln('Otredaktirovannaya stroka: ',s);
    s:=s+' ';
    i:=0;
        While Pos(' ',s)>0 do
    Begin
    s1:=Copy(s,1,Pos(' ',s)-1);
    Delete(s,1,Pos(' ',s));
    inc(i);
    if i=n then writeln(i,' - ',s1);
        End;
        if i<n then writeln('Slova s takim nomerom net');
    readln;
End.
Буду очень признателен за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2018, 14:41
Ответы с готовыми решениями:

Работа со строками
Задан произвольный строка: Поменять два рядом расположенных символы местами.

Работа со строками
program test; uses crt; var s:string; i,n:integer; begin clrscr; ...

работа со строками
Дан текст. а) Если в тексте нет символа *, то оставить этот текст без...

Работа со строками
В строке заменить все буквосочетания А на буквосочетания В

Работа со строками. Придумать 5 ребусов
Придумать 5 ребусов использовать delete,insert,copy

2
Puporev
Модератор
55097 / 42347 / 29248
Регистрация: 18.05.2008
Сообщений: 100,064
27.05.2018, 17:50 2
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
uses crt;
Var s,s1:String;
    i,j,n,v:integer;
Begin
clrscr;
writeln('Vvedite stroky(cherez probel): ');
readln(s);
write('Vvedite nomer slova dlya vyvoda n=');
readln(n);
while pos('  ',s)>0 do
delete(s,pos('  ',s),1);
writeln('Otredaktirovannaya stroka:');
writeln(s);
s:=' '+s; {добавим пробел в начало}
j:=0;
v:=0; {место вставки числа}
for i:=1 to length(s) do
 begin
  if s[i-1]=' ' then inc(j);{новое слово}
  if j=n then {если n}
   begin
    v:=i;{место вставки}
    break;{выходим из цикла}
   end;
 end;
if j<n then  {если слов меньше n}
 begin
  v:=length(s); {идем с конца строки }
  while s[v]<>' ' do dec(v);
  inc(v);
 end;
str(n,s1);{преобразуем в строку}
insert(s1+' ',s,v); {вставляем}
delete(s,1,1);{удалим первый пробел}
write(s);
readln
end.
1
iffy
0 / 0 / 0
Регистрация: 17.04.2018
Сообщений: 7
27.05.2018, 18:52  [ТС] 3
Спасибо большое! Очень выручили!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2018, 18:52

Оператор Case. Работа со строками
http://cs416931.userapi.com/v416931287/2444/JyT-eKxbu1M.jpg Подскажите...

Работа со строками ,функция Pos
Функция Pos всегда выдает значение ноль, даже если подстрока гарантированно...

Работа со строками: склеить два введенных строки
Создать программу для работы с двумя строками. склеить два введенных строки


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru