![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 19.05.2009
Сообщений: 16
|
![]()
Прошу прошения за назойливость) Завтра буду защищать эту задачку, поэтому хочу разобраться во всем до конца! Итак вот что я понял:
cin.getline - оператор для ввода строки с клавиатуры ___________________________________ __________ for(i=0; i<256; i++) mas[i] = 0; // пока нет никаких символов здесь мы очищаем массив от всех символов ___________________________________ __________ for(i=0; i<strlen(text); i++) //идем по тексту не совсем понятно что означает i<strlen(text);, что-то вроде не далее конца строки? ___________________________________ ___________________ mas[(int)text[i]]++; // увеличиваем элемент массива с индексом, равным коду символа На этом этапе как я понял из комментария, мы сортируем массив по возрастанию букв ___________________________________ ______________________ for(i=0; i<256; i++) // выводим символы if(mas[i]>0) cout<<(char)i<<endl; Ну тут понятно все, кроме вот этого: (char)i то есть проше говоря мы выводим все символы i берущиеся из цикла? ___________________________________ ______________________ Пара вопросов: Для чего нужна библиотека #include <string.h> ? Я так понимаю что-то со строками?! Затем, я не очень понял про коды символов, откуда они берутся? И как сделать чтобы отсеить все символы, кроме латинских строчных букв (русские у меня почему то не срабатывают)? Если очень надоел можно не отвечать, а просто указать где почитать) |
![]() |
![]() |
#12 | |||||||
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
Первый параметр - строковая переменная. Второй - количество символов, которое будет прочитано. Третий ('\n') - символ-разделитель, встретив который ввод окончится. Цитата:
Цитата:
Цитата:
У нас есть символ text[i]. Он имеет ASCII-код (от 0 до 255). Мы берем этот код и увеличиваем элемент массива mas с таким индексом. Цитата:
Цитата:
Цитата:
Символы латинского алфавита имеют коды 65-90 (заглавные буквы) и 97-122 (строчные). Чтобы выводить только их, нужно в последний цикл (в котором выводим) добавить в условие проверку на вхождение кода (i) в этот диапазон. А можно просто в самом цикле пройти именно по этому диапазону. С русскими не работает из-за кодировок. Вы вводите в консоль символы в кодировке 1251. Но в консоли кодировка - 866. Если вам все-таки нужны именно русские символы, то вбейте в поиск CharToOem. Там найдете пример ее использования.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|||||||
![]() |
![]() |
#13 |
Пользователь
Регистрация: 19.05.2009
Сообщений: 16
|
![]()
Спасибо! Вы мне очень помогли)
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на сортировку СРОЧНО! | theFEAR | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 29.04.2009 20:00 |
Помогите переделать файловую сортировку на сортировку динамич. списков | Taisja | Помощь студентам | 2 | 15.06.2008 16:10 |
Задача на сортировку... | Sota | Помощь студентам | 4 | 25.05.2008 19:26 |
Задача на сортировку массива | Acid | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.06.2007 00:16 |