Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2016, 20:43   #1
Анатолий147711
Пользователь
 
Регистрация: 18.10.2016
Сообщений: 13
По умолчанию задачи на строки

Доброе время суток. Помогите пожалуйста понять, каким образом решать следующие задачи:
1. Дан текстовый файл, содержащий строковые величины S. Преобразовать каждую из них, не привлекая других литерных величин, по следующему правилу: в каждом слове заменить всякое повторное последующее вхождение первой буквы этого слова на символ "_"(подчёркивания). Например, слово "мама" преобразуется в слово "ма_а".
2.Дан текстовый файл, содержащий строковые величины S. В последней его строке находится целочисленная величина k,она, кстати, должна вводиться с клавиатуры(не понял немного саму идею, не с вводом, а с тем, как она может находиться в последней строке и вводиться одновременно). Оставить в данных строковых величинах только те слова, длина которых не больше k.
3.Дан текстовый файл, содержащий строковые величины S, значения которых - полные имена файлов, т.е. имя диска, список каталогов(путь), собственно имя файла и его расширение. В результирующий файл записать собственно имя файла(без указания пути к нему).
Анатолий147711 вне форума Ответить с цитированием
Старый 19.10.2016, 20:47   #2
Анатолий147711
Пользователь
 
Регистрация: 18.10.2016
Сообщений: 13
По умолчанию

Забыл сказать, сами программы в паскале пишутся.
Анатолий147711 вне форума Ответить с цитированием
Старый 19.10.2016, 20:49   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И? Проблема-то в чем именно?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.10.2016, 21:03   #4
Анатолий147711
Пользователь
 
Регистрация: 18.10.2016
Сообщений: 13
По умолчанию

Проблема вот в чем. В первой: каким образом я могу заменить всякое повторное последующее вхождение первой буквы, а именно, как реализовать это у каждого из введенных слов, ведь файл содержит несколько строковых величин. Во второй проблема с тем, как величина может быть в последней строке и еще и вводиться. А в последнем нужно просто оставить из введенной информации имя файла, верно?
Анатолий147711 вне форума Ответить с цитированием
Старый 19.10.2016, 21:08   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В последнем непонятно что именно в файле.
Наверно там просто пути вида C:\dir\file.txt и надо взять то, что после последнего \ (или /).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.10.2016, 21:12   #6
Анатолий147711
Пользователь
 
Регистрация: 18.10.2016
Сообщений: 13
По умолчанию

А как быть с первой и второй?
Анатолий147711 вне форума Ответить с цитированием
Старый 19.10.2016, 21:15   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

1. считал С, в цикле просмотрел если С(и) = С(1) заменил С(и) на "_"
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 19.10.2016, 21:25   #8
Анатолий147711
Пользователь
 
Регистрация: 18.10.2016
Сообщений: 13
По умолчанию

Вторую, наверное, никто, как и я , не понял. Нет, ввести число, определить длину слов и сравнить вполне возможно, только покоя условие не дает
Анатолий147711 вне форума Ответить с цитированием
Старый 23.10.2016, 15:59   #9
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

1:
Код:
var s:string;
    i:integer;
    p:set of char;
begin
   Write('s = ');Readln(s);
   p:=[];
   For i:=1 to Length(s) do
      If s[i]=' ' then
         p:=[] else
         If s[i] in p then
            s[i]:='_' else
            p:=p+[s[i]];
   Writeln(s);
   Readln;
end.
3:
Код:
var s:string;
    i:integer;
begin
   Write('s = ');Readln(s);
   For i:=Length(s) downto 1 do
      If (s[i]='\') or (s[i]='/') then
      begin
         s:=Copy(s,i+1,Length(s));
         Break;
      end;
   Writeln(s);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 задачи на строки (Fin Помощь студентам 0 07.12.2011 21:03
2 задачи на строки dsfmc Помощь студентам 3 23.08.2011 20:28
Задачи на строки sud`ba Помощь студентам 0 12.12.2010 15:50
Задачи на символы и строки Alabay Паскаль, Turbo Pascal, PascalABC.NET 3 11.01.2009 21:30
2 задачи на строки NEMO1991 Помощь студентам 2 20.12.2008 21:46