2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
1 | ||||||
Определить, как часто символ встречается в тексте08.03.2010, 17:06. Показов 1797. Ответов 18
Метки нет (Все метки)
Проблема со встречаемостью символов.
struct my{ char fio[40]; int mark1; }; (ввод,вывод и т.д) и вот нужно вывести встречаемость, что не так?
0
|
08.03.2010, 17:06 | |
Ответы с готовыми решениями:
18
Определить, как часто символ встречается в тексте Определить, как часто встречается определенный символ (например ‘0’) в строке ASCII символ, который наиболее часто встречается в тексте и ближе к началу алфавита Определить наиболее часто встречающийся символ в тексте |
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
|
08.03.2010, 19:15 | 2 |
int i; вы пишите как символ.Это числовое значение.
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
|
08.03.2010, 21:06 [ТС] | 3 |
Вроде каждый символ имеет численное значение...
Этот код можно сделать как-то по другому?! Может я не совсем понял Вашу мысль, не могли ли бы Вы написать полностью
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
09.03.2010, 16:32 | 4 |
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
|
09.03.2010, 16:53 | 5 |
Я ничё не понял, дай весь код с комментариями.
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
09.03.2010, 19:47 [ТС] | 6 | |||||
теперь этот код считает вхождения символов, но вот если символ повторяется, прога пишет его как еще одну запись( т.е. ввожу студентам оценки: первому 7 и второму 7 ; результат: 7 встечаесть 1 раз
7 встречается 1 раз, хотя должно быть: 7 встр. 2 раза). как Это исправить? вот весь код:
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
||||||||||||||||
09.03.2010, 21:56 | 7 | |||||||||||||||
Ну я же просил ВЕСЬ КОД и с КОММЕНТАРИЯМИ...
Ну. как бы то ни было. В общем, приехали. что называется. Смотри. Прога делает ТОЛЬКО ТО, что ты ей задал Пусть введены две таких структуры: qqq 2 и www 2 Поехали подсчитывать Зашли в цикл, сперва ты проходишь по первой стрктуре, потом по второй. Вот здесь
Вот ты второй элемент находишь и инкременируешь его. И он становится равным 1
А потом выходишь из цикла, рассматриваешь вторую структуру и всё то же самое. И опять вывод единицы. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Это вот что делается. Теперь что ДОЛЖНО ДЕЛАТЬСЯ. ЕСли ты мне на словах обрисуешь алгорим действий, я попытаюсь тебе помочь. Я просто не могу врубиться в твой алгоритм Добавлено через 9 минут Короче, я понял, что ты хочешь сделать и знаю, как это реализовать и исправил. Код приводить пока не буду. Попытайся сам. Слушай. Ты рассматриваешь 2 или больше структуры и всякий раз ты обнуляешь массив arr! Это в корне неправильно! То есть тебе надо обнулить его один раз перед прохождением по структурам и всё на этом. А то получается, если оценка 7 встречается 2 раза, то ты седьмой элемент инкременировал, он стал равен единице, вот теперь самое время его ещё раз инкременировать и он станет равным двум! А ты обнуляешь массив. То есть массив над обнулить один(!) раз перед заходом во внешний цикл. И вывод массива осуществить ТАКЖЕ после того, как рассмотришь ОБЕ структуры (или три или сколько их там) И всё будет ОК.
0
|
18 / 17 / 7
Регистрация: 06.11.2009
Сообщений: 167
|
|||||||||||
09.03.2010, 22:44 | 8 | ||||||||||
получается в конце частота попадания символа в строку находится в массиве freq под индексом кода символа.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
|
09.03.2010, 22:50 | 9 |
Я понимаю, ты помочь хотел. Сперва вникни, потом пиши. Если бы всё было так просто, я бы так и написал.
...Там ищутся не символы даже, а числа. И не в подстроке, а, грубо говоря в массиве структур в одинаковых полях(mark1) элеметов.
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
09.03.2010, 23:47 [ТС] | 10 | |||||
Вы имеете в виду вот такие преобразования?:
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
|
09.03.2010, 23:55 | 11 |
Почти правильно.
Вы не находите, что компилятор ругнётся на необъявленное mark2?
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
10.03.2010, 17:39 [ТС] | 12 | |||||
Заталкал туда и марк2 (хотя почему-то не ругался но его отсутствие)
но все равно не та делает
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
|
10.03.2010, 17:42 | 13 |
КУда туда?
Дай мне код, который не ругался на mark2
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
10.03.2010, 17:58 [ТС] | 14 | |||||
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
||||||
10.03.2010, 18:23 | 15 | |||||
ПОчему Вы мне морочите голову?
ВЫ приводите кусок кода с переменной mark2 Я, предположив, что она незадекларирована, ставлю под сомнение правильность кода. ВЫ вместо того, чтобы сказать, что она ЗАДЕКЛАРИРОВАНА, уверяете меня что я старый дурень всё напутал и компиллято не ругается на незадекларированные имена.
То есть тебе надо обнулить его один раз перед прохождением по структурам и всё на этом. А то получается, если оценка 7 встречается 2 раза, то ты седьмой элемент инкременировал, он стал равен единице, вот теперь самое время его ещё раз инкременировать и он станет равным двум! А ты обнуляешь массив. Всё ясно? Ясно где нужно обнулять массив и главное, почему там? Обнуляй там и код сюда. Если вопросов нето, будем считать, что ты ПОНЯЛ, почему массив надо обнулять НЕ КАЖДЫЙ РАЗ, рассматриваая очередную структуру, а ПЕРЕД рассматриванием структур (перед циклом), один раз то есть ...Во вчерашнем коде (сообщение номер 10 обнуление почему-то отсутствует, а я не заметил)
0
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
10.03.2010, 20:20 [ТС] | 16 | |||||
Может нужно сделать так?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
|
10.03.2010, 20:59 | 17 |
МНе эти гадания не нравятся. Такое ощущение, что ты угадываешь.
...Да, именно так и надо сделать. Ты вынес обнуление массивы за пределы цикла, с помощью которого просматриваешь массив структур. Дальше что надо сделать? Смотри то же моё сообщение вчерашнее.
1
|
2 / 2 / 2
Регистрация: 29.11.2009
Сообщений: 320
|
||||||
10.03.2010, 22:02 [ТС] | 18 | |||||
во! дошло! низкий покло! наконецто вот что нужно:
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,681
|
||||||
10.03.2010, 22:17 | 19 | |||||
Ну да.
Только мне не понять, откуда появилась mark2 Две отметки ставят человеку? Ну, может быть. Изначально предполагалась одна. Вот код с одной отметкой.
0
|
10.03.2010, 22:17 | |
10.03.2010, 22:17 | |
Помогаю со студенческими работами здесь
19
Определить ASCII символ наиболее часто встречающийся в тексте Используя стек, определить символ, наиболее часто появляющийся в случайно выбранном тексте Определить, сколько раз в тексте встречается заданный символ Определить сколько раз встречается в тексте каждый символ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |