Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/65: Рейтинг темы: голосов - 65, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 21

Дана строка. Определить, сколько раз в ней встречается символ, введенный пользователем

30.01.2021, 22:19. Показов 13986. Ответов 76
Метки си (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачку на си. Знаю как посчитать количество всех символов в строке, а вот сколько раз встречается введённый символ, никак понять не могу.
Дана строка. Определить, сколько раз в ней встречается символ, введенный пользователем
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.01.2021, 22:19
Ответы с готовыми решениями:

Определить, сколько раз в файле встречается символ, введенный с клавиатуры
Задание: Написать программу которая определяет сколько раз в файле встречается символ введенный с клавиатури. Очень нужно на завтра (на...

Дана символьная строка.Подсчитать сколько раз в ней встречается подслово абба
Дана символьная строка.Подсчитать сколько раз в ней встречается подслово абба. В строке аббабба это слово встречается 1 раз а должно быть...

Дана строка символов. Сколько раз в ней встречается слог "МИ". 37. Определить самое длинное слово в строке. 38. Дана строка символов. Вывести на
строка символов.36. Дана строка символов. Сколько раз в ней встречается слог "МИ". 37. Определить самое длинное слово в строке. ...

76
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
31.01.2021, 23:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от RatPoison Посмотреть сообщение
что ls должно отобразить содержимое директории "/tmp", но выводит содержимое pwd.
С чего бы это вдруг она такое "должна"??? Кто вам сказал такую чушь?

Цитата Сообщение от RatPoison Посмотреть сообщение
От команды за пайплайном тоже кое-что зависит: готова ли она принять то, что дают через пайплайн.
Не "готова ли она принять", а читает ли она свои аргументы из stdin. Но так не бывает: команд, которые читают аргументы из stdin в шелле нет вообще (кроме, разумеется, xargs). Из stdin принято читать поток входных данных, а не аргументы. Поэтому зачем вы сюда приплели ls и почему она вам "должна" что-то отобразить - в упор не ясно.

Вам нужно почитать что-то по азам линуксового шелла.

Цитата Сообщение от RatPoison Посмотреть сообщение
вот именно.
Не "вот именно", а что вы сказать-то хотели? При чем здесь ls и как она относится к теме?

Не по теме:

У меня такое впечатление, народ, что идет классический сознательный флуд темы бессмысленными сообщениями с той целью, чтобы спрятать "позорные" предыдущие страницы подальше.

0
Заблокирован
31.01.2021, 23:23
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Не "готова ли она принять", а читает ли она свои аргументы из stdin. Но так не бывает: команд, которые читают аргументы из stdin в шелле нет вообще (кроме, разумеется, xargs)
хех. да? а wc тогда как читает?)
и не из stdin а из направленного ввода. любого.

Bash
1
2
3
4
5
6
7
8
cat > one
cat one
cat > two
cat two
cat one >> two
cat two
>two
cat two
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
31.01.2021, 23:36
Цитата Сообщение от RatPoison Посмотреть сообщение
хех. да? а wc тогда как читает?)
Что за дикую чушь вы несете?

Я же написал ранее: "Из stdin принято читать поток входных данных, а не аргументы." Мне кажется, вы недостаточно долго конспектировали, штудировали и прорабатывали написанное мною. Здесь это не допускается.

wc никогда не читает свои аргументы из stdin. wc читает сам поток обрабатываемых данных из stdin. Вы не понимаете разницы аргументами командной строки и собственно входным потоком stdin? Еще раз: вам нужно почитать что-то по самым начальным азам шелла.

Цитата Сообщение от RatPoison Посмотреть сообщение
и не из stdin а из направленного ввода. любого.
К чему здесь эта чушь - мне не ясно. (Бессмысленный пример поскипан.)
0
Заблокирован
31.01.2021, 23:40
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
К чему здесь эта чушь
откуда что читается, можете сказать?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
31.01.2021, 23:49
Цитата Сообщение от RatPoison Посмотреть сообщение
откуда что читается, можете сказать?
Что "это"? Вы о чем вообще?

Вычеркнул. Еще раз: он просто флудит форум бессмысленным текстом. Это у них сейчас считается "остроумным".

Пользователь RatPoison изучит преподанный материал, в том числе основы шелла. После чего напишет нам отчет на полстранички о том, что нового он узнал. До того момента тратить время на его бессмысленный текстовый флуд смысла нет.
1
Заблокирован
01.02.2021, 00:08
TheCalligrapher,
===>
Миниатюры
Дана строка. Определить, сколько раз в ней встречается символ, введенный пользователем  
0
Заблокирован
01.02.2021, 00:36
]
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Вы не понимаете разницы аргументами командной строки и собственно входным потоком stdin
Я вам говорю, что читать можно не только из stdin.
Bash
1
2
3
echo "seven" > seven.txt; echo $?
 
wc -c < seven.txt; echo $?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
01.02.2021, 01:00
Цитата Сообщение от RatPoison Посмотреть сообщение
]
Я вам говорю, что читать можно не только из stdin.
Bash
1
2
3
echo "seven" > seven.txt; echo $?
 
wc -c < seven.txt; echo $?
Поток чуши не иссякал... В этом примере wc читает данные из stdin. Откуда же ещё?

Ещё раз повторяю: вперёд читать книги, пока из головы не выветрится шлак и мусор.
0
Заблокирован
01.02.2021, 01:03
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Откуда же ещё?
ну сам подумай.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
01.02.2021, 01:07
Цитата Сообщение от RatPoison Посмотреть сообщение
...
Здесь все ясно. Вперед читать книги. Не фотографировать их снаружи форум, а читать внутри. И, как я сказал, чтобы мы здесь в форуме увидели отчет. Больше полстраничики не нужно.
0
Заблокирован
01.02.2021, 01:11
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
stdin.
stdin как и stderr, обычный файл и тд - это блочные устройства.
мы можем читать прямо из stdin

Bash
1
cat /dev/stdin
можем читать в файл
Bash
1
cat /dev/stdin > file.txt; cat file.txt
можем читать из файла в файл
Bash
1
cat file_one >> file_two
можем даже копировать данные с одного диска на другой.
или убить диск.

Bash
1
cat /dev/null > /dev/sda
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
01.02.2021, 01:16
Цитата Сообщение от RatPoison Посмотреть сообщение
stdin как и stderr, обычный файл и тд - это блочные устройства.
Ах, вот оно что. (Бредовые примеры поскипаны).

Тогда наводящий вопрос:

Откуда читает входные данные утилита wc в вашем же примере: wc -c < seven.txt?

И как образом получается так, что несмотря на то, что утилита wc ничего не знает о файле seven.txt, данные из файла все таки попадают ей на вход?

Отвечать подробно, по шагам.
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,339
01.02.2021, 01:27
Сэр, TheCalligrapher, вам не надоело? Понятно же, что это токсичный тролль, который будет нести любую чушь в любых размерах, и отстаивать самые бредовые идеи, покуда хоть кто-то обращает на него внимание.

Уже 4 страницы отборнейшего ничего настрочили.
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
01.02.2021, 01:54
Цитата Сообщение от stake-k26 Посмотреть сообщение
Понятно же, что это токсичный тролль,
Похоже на то...

---

Меня, кстати, заинтересовал пример с 1>&0 в посте zeroalef, хотя это и была, как я понимаю, опечатка.

Обычно не приходит в голову что-то пытаться писать в stdin. А оно не только пишется, но еще и появляется в консоли. Так исторически сложилось, что не перенаправленный stdin в Linux доступен по записи. Правда в С коде fprintf(stdin, не проходит - видно блокируется на уровне стандартной библиотеки (все равно UB), а вот write(0, работает на ура.
0
Заблокирован
01.02.2021, 09:41
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Откуда читает входные данные утилита wc в вашем же примере: wc -c < seven.txt
Я же выше сказал - из файла.
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
wc никогда не читает свои аргументы из stdin.
Во main функция утилиты взятая из исходного кода wc

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int
main (int argc, char **argv)
{
  int i;
  
  if (argc < 2)
    errf ("usage: wc FILE [FILE...]");
  
  for (i = 1; i < argc; i++)
    counter (argv[i]);
  
  if (argc > 2)
    report ("total", total_ccount, total_wcount, total_lcount);
  return 0;
}
Откуда по вашему wc читает свои аргументы, если не из stdin?

________________________________________ _______________________

Пишем
Bash
1
2
echo  "This is line" > /tmp/test; cd /tmp/
wc -c test
________________________________________ __________________________

Что мы имеем? Имеем утилиту wc с аргументами командной строки -с и test. Которые считанные из stdin как раз.
А сама wc читает из файла, как видно.

Мы можем передать wc больше аргументов.
Bash
1
2
3
echo  "This is line" > /tmp/test
echo  "Short" > /tmp/short
wc -c test short
Добавлено через 2 минуты
Цитата Сообщение от stake-k26 Посмотреть сообщение
Понятно же, что это токсичный тролль, который будет нести любую чушь в любых размерах, и отстаивать самые бредовые идеи, покуда хоть кто-то обращает на него внимание.
Я никого не обозвал за время всего обсуждения и не пытался оскорбить, в отличии от TheCalligrapher, но токсичный тролль почему-то я.
Л - логика.
0
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
01.02.2021, 17:31
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Следите за руками
Нечего там следить. Цепь неверных предположений привела меня к неверным выводам. Но я же помню, черт возьми, как этот buffer overflow срабатывал и на блюдечке выдавал права бога! Когда обычный pipe выдал не тот результат, который ожидался, я решил что причина в методах, а не предпосылках. И, соответственно, пошел по ложному пути. В общем, вы моги просто указать на ошибку, а предпочли доминантно-менторский такт. Завязывайте с этим. Кроме прочего, есть пища для размышлей.
0
2493 / 1157 / 709
Регистрация: 25.04.2016
Сообщений: 3,339
06.02.2021, 10:56
Цитата Сообщение от easybudda Посмотреть сообщение
В вашем варианте функция вызывается столько раз, сколько символов в строке + 1.
Спасибо, этого я не учел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2021, 10:56

Дана строка, содержащая текст на русском языке. Определить, сколько раз в ней встречается самое длинное слово.
Дана строка, содержащая текст на русском языке. Определить, сколько раз встречается в неё самое длинное слово.

Дана строка символов, посчитать сколько раз встречается символ + и символ *
Дана строка символов, посчитать сколько раз встречается символ &quot;+&quot; и символ &quot;*&quot;. Помогите...

Дана строка символов. Сколько раз встречается в ней сочетание ‘-+=’.
Строковый тип данных. Задачи. 1) Дана строка символов. Сколько раз встречается в ней сочетание ‘-+=’. Буду очень признателен,

Дана строка. Посчитать, сколько раз в ней встречается буква “b”
Дана строка. Посчитать, сколько раз в ней встречается буква “b”. Вывести на экран исходную строку и полученный результат.

Определить сколько раз в данной строке встречается символ, введенный с клавиатуры
Определить сколько раз в данной строке встречается символ, введенный с клавиатуры. Поиск символа в строке и подсчет количества вхождений...


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

Или воспользуйтесь поиском по форуму:
77
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru