9

Си (язык программирования)

Пикабу, кто знает язык Си (именно Си, не Си#, не Си++), отпишитесь пожалуйста в комментах. Нужна небольшая консультация(по теме строк). Это не займёт у вас много времени(минут 10 от силы), обещаю! Пожалуйста, срочно нужна помощь.
Не минусите пожалуйста пост, минусите мои комменты лучше.
Автор поста оценил этот комментарий
А что за предмет? Мат. лингвистика какая-нибудь наверно. Там же должны были давать теорию по всяким грамматикам, лексическим и синтаксическим анализаторам, автоматам, нет?

А вообще, это штука называется регулярное выражение:
https://en.wikipedia.org/wiki/Regular_expression
И книжка по теме:
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniqu...
раскрыть ветку (1)
Автор поста оценил этот комментарий
Не, не мат.лингвистика. Просто программирование. Теории нам не дают.
показать ответы
Автор поста оценил этот комментарий
почему всю строку? В задаче сказано, что при вводе . выводится один любой символ
раскрыть ветку (1)
Автор поста оценил этот комментарий
"Необходимо выдать на экран все строки, включа-
ющие в себя подстроки, соответствующие заданному шаблону."
Вроде все нужно вывести.
показать ответы
Автор поста оценил этот комментарий
Допустим у тебя есть файл с 4 строками.
1 строка: 8bvaacv,&3
2 строка: njjjbacdeeqddd83jj
3 строка: df3rfjd.23*ds#kjjj
4 строка: nb^wdz:d sd_d2kdaaaj

Вводишь " . " у тебя на экран должно вывести по одному любому символу из каждой строки.
Например:
v
8
:
^
Если введешь какой-нибудь любой символ и добавишь к нему *. То все подстроки с его содержанием. Например вводишь *j
(пустая строка)
jjj jj
j jjj
j
Если введешь любой символ и добавишь к нему + , то должно вывести рандомное кол-во этого символа с каждой строки.
Например ввел a+
aa
a
a
Если введешь любой символ и добавишь к нему $, то будет то же самое как во 2 пункте, но только для последней под строки
Например введешь j$
Должно выйти
jj
jjj
j
Скобками () можно объединить несколько символов в один.
А квадратными [] указать набор символов, в этом случае символ из скобок выбирается один рандомно

Думаю что так.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Он должен выводить всю строку, если встретит символы из шаблона. Тогда я не понимаю смысла первого шаблона.. Значит он в любом случае будет выводить все строки?
показать ответы
Автор поста оценил этот комментарий
Тьфу. Спать мне пора. программа должна выдать все строки, в которых содержатся подстроки, содержащие элемент шаблона. результатом будет вся строка. Тобишь - чтение строки, и поиск в ней того, что нужно по шаблону. Найдено совпадение - выводим в результат. Не найдено - читаем следующую строку. И так до eof.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо, постараюсь разобраться)
Автор поста оценил этот комментарий
На пикабу, мне кажется, немало студентов. А снятые с боевой готовности вилы - полезно изучать. Каким бы смешным и глупым не казалась их причина - ознакомившийся повторно не наступит. И нечего тут стыдиться.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Блин, из-за того что спать хочу, даже не смог правильно вопрос задать... Вообще херню написал.
Объясните что такое шаблон в си. Где можно про него почитать? В учебниках вроде про такие шаблоны не написано. Гугл вообще пишет, что шаблонов в Си нет... И как вообще такой шаблон использовать? Объясните на примере одного символа.
показать ответы
Автор поста оценил этот комментарий
лучше ты свой
раскрыть ветку (1)
Автор поста оценил этот комментарий
Short-mail-pikabu@yandex.ru
показать ответы
Автор поста оценил этот комментарий
На пикабу, мне кажется, немало студентов. А снятые с боевой готовности вилы - полезно изучать. Каким бы смешным и глупым не казалась их причина - ознакомившийся повторно не наступит. И нечего тут стыдиться.
раскрыть ветку (1)
Автор поста оценил этот комментарий
И как примерно должна выглядеть работа программы?
Программа принимает значение шаблона, а потом уже по этому шаблону пробегает по всему текстовому файлу?
показать ответы
Автор поста оценил этот комментарий
На пикабу, мне кажется, немало студентов. А снятые с боевой готовности вилы - полезно изучать. Каким бы смешным и глупым не казалась их причина - ознакомившийся повторно не наступит. И нечего тут стыдиться.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Вот задание. Пока что сижу, разбираюсь с темой про текстовые файлы. Объясните саму суть задания пожалуйста. Как я понял, подстрока - это часть строки?
показать ответы
Автор поста оценил этот комментарий
На пикабу, мне кажется, немало студентов. А снятые с боевой готовности вилы - полезно изучать. Каким бы смешным и глупым не казалась их причина - ознакомившийся повторно не наступит. И нечего тут стыдиться.
раскрыть ветку (1)
Автор поста оценил этот комментарий
В текстовом файле содержится набор строк. Необходимо выдать на экран все строки, включа-
ющие в себя подстроки, соответствующие заданному шаблону. Элементы шаблона:
• . — один любой символ;
• * — любое количество предыдущего символа, в том числе его отсутствие, например шаблону a*
соответствуют: пустая подстрока, ‘a’, ‘aa’,... и т.д.;
• + — любое ненулевое количество предыдущего символа;
• ^ — символы подстроки расположены только с начала строки;
• $ — символы подстроки расположены только с конца строки;
• () — группировка элементов шаблона, например шаблону (ab)+ соответствуют: ‘ab’, ‘abab’,
‘ababababab’ и т.п.
• [] — выбор одного символа из набора в скобках.
Если в шаблоне необходим один из управляющих символов в явном виде, то перед ним ставится \,
например, если в подстроке должна присутствовать *, то в шаблоне указывается \*. Шаблон, несоответ-
ствующий указанным правилам, считается ошибочным и не обрабатывается.
показать ответы
Автор поста оценил этот комментарий
Ну не томите же. Почему именно на С, вы студент? Или разработчик чего то очень и очень необычного? Что за вилы вам встретились, и каково решение?)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Да, студент обыкновенный. Лабу скоро сдавать. Хочу понять само задание и что для выполнения этого задания нужна знать.
показать ответы
Автор поста оценил этот комментарий
Спрашивай, пока рейт больше 25, подскажу.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Можешь написать свой e-mail?
показать ответы
Автор поста оценил этот комментарий
сразу бы вопрос и задал)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Да я на почту человеку хочу написать. Вопрос тупой просто немного. Стыдно писать на общее обозрение.
Автор поста оценил этот комментарий
Писал бы сразу сюда, шанс того, что ответят выше
раскрыть ветку (1)
Автор поста оценил этот комментарий
Попробую написать сейчас. Но если ответят тут, будет тоже очень хорошо.
показать ответы
Автор поста оценил этот комментарий
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо, попробую.
Автор поста оценил этот комментарий
Коммент для минусов
Автор поста оценил этот комментарий
Коммент для минусов

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества