4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
1 | |
буквы05.06.2010, 10:13. Показов 1052. Ответов 15
Метки нет (Все метки)
помогите написать программа на стандартном си
Строка, содержащая произвольный , состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте Добавлено через 13 часов 40 минут подскажите
0
|
05.06.2010, 10:13 | |
Ответы с готовыми решениями:
15
Заменить все малые буквы латинского алфавита на соответствующие большие буквы Напечатать уникальные буквы заданного текста (буквы, встречающиеся один раз) Из текста удалить все буквы в, которые стоят сразу после буквы с Переставить все входящие буквы «а» в начало слова, а буквы «я» – в конец |
11 / 11 / 3
Регистрация: 12.05.2010
Сообщений: 29
|
|
05.06.2010, 10:56 | 2 |
Ой. Используйте алгоритм Distribution Sorting. Удачи ^__^
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
05.06.2010, 11:09 | 3 | |||||
suv121, тема обсуждалась не раз, пользуйтесь поиском.
Позвольте спросить зачем?
1
|
11 / 11 / 3
Регистрация: 12.05.2010
Сообщений: 29
|
||||||
05.06.2010, 11:46 | 4 | |||||
Думаю для этой проблеммы есть два решения :
1 : Найти все символы в строке, затем вычислять частоту каждой. Тогда сложность O(n^2) 2 : По алгоритму Distribution Sorting как вы решили ведь все символы соответственны числами в диапазоне [ 0 ... 256 ] Сложность О(n) Вы согласны да ? Но думаю лучше написать отдельную функцию чтобы увеличивать мобильность. И ещё в ваше коде не нужна фукция FillZero. Она просто эквивалентна операции :
PS : Я не русский поэтому часто не правилно писал и также объяснял. Если возможно исправляйте мои ошибки, пожалуйста. Рад пообщаться с всеми ^__^.
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
05.06.2010, 11:56 | 5 | |||||
Будем считать что да.
Здесь:
Фактически использование функции FillZero эквивалентно вашему варианту, но теоритически это не так.
1
|
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
05.06.2010, 16:41 [ТС] | 6 |
а что такое i = strlen(str) - 1??
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
05.06.2010, 16:50 | 7 |
0
|
Модератор
12460 / 7484 / 1754
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
05.06.2010, 16:53 | 8 |
1
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
05.06.2010, 16:56 | 9 |
Не люблю я функции семейства mem***, даже не знаю почему.
А вообще да, так будет быстрее.
0
|
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
05.06.2010, 17:20 [ТС] | 10 |
а можете комментарии к программе написать
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
05.06.2010, 17:40 | 11 |
suv121, не к чему писать комментарии, здесь все просто как 2*2=4. Код сам по себе является комментарием, не ленись разобраться.
0
|
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
06.06.2010, 00:48 [ТС] | 12 |
я не понимаю вот это ++count[str[i]];
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
06.06.2010, 10:29 | 13 |
Берем i-ый элемент строки.
Берем str[i]-ый элемент массива count и увеличиваем его на единицу.
1
|
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
06.06.2010, 11:03 [ТС] | 14 |
так ведь str[i]-ый это буква , как можно взять массив у которого индекс буква
0
|
11 / 11 / 3
Регистрация: 12.05.2010
Сообщений: 29
|
|
06.06.2010, 14:50 | 15 |
тогда str[i] автоматически преобразовано от char к int. Каждой символ соответствен одному числу ( Смотрите в таблице ASCII )
1
|
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
|
|
06.06.2010, 17:46 [ТС] | 16 |
спасибо всем , теперь я разобрался
0
|
06.06.2010, 17:46 | |
06.06.2010, 17:46 | |
Помогаю со студенческими работами здесь
16
В текстовом файле после каждой 2 буквы вставлять буквы из слова Реализовать функцию, конвертирующую обычные буквы в буквы азбуки Морзе C (СИ) - Ввести строку символов.И После каждой 2 Буквы ( Именно буквы ) Вставить слово С экрана вводятся любые буквы. Подсчитать и вывести на печать количество вводов буквы А Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |