![]() |
|
Модераторы: bsa |
![]()
|
|
| qaswed |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
Привет. помогите написать прогу, я новичок и не совсем догоняю пока. суть программы в следующем: Дан произвольный текст. Напечатать в алфавитном порядке все буквы, которые входят в этот текст по одному разу. И желательно на начальном уровне, то есть используя лишь библиотеки <stdio.h> и <string.h> ну или хотя бы подскажите как делать))) заранее спасибо
|
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
ну так вот примерно ))) только отсортируй... -------------------- |
|||
|
||||
| jonie |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
тока несколько замечаний..
да и вообще NULL не используется таким образом. NULL используется для указания NULL pointer-ов. Используйте для указания нуля тут именно 0. и вообще занулять b тут нет смысла (лишняя трата рессурсов).
ну там про то что уже давно iostream.h нету не говорю - потом почитаете 8-) предлагаю другой алгоритм (более быстрый): исходит он из того, что мы работаем с символами от 0 до 255 (это, конечно, неправильно! ну допустим так есть). Просто заведем массив в 256 значений. в общем как-то так:
вот и вся программа... писал тут могут быть ошибки) ЗЫ: когда сюда встроят дебаггер? Это сообщение отредактировал(а) jonie - 12.12.2008, 09:19 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||||
|
|||||||
| qaswed |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
спасибо, но последнюю прогу не оч поняла
|
|||
|
||||
| Dmi3ev |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
а вот я-то не знал, как это так? тебе сказали, а мне не сказали? Вот гады, стандарты меняют, а никто об этом не знает, кроме jonie
а я использую и чего?
ну если у тебя комп не тянет, можешь заменить или убрать... У меня на ноуте даже CRYSIS на максимальных настройках не притормаживает, когда я запускаю эту программу ))) У тебя не знаю, можешь стереть...
это немного попроце, потому что...
кроме того, что в этой проге перед сout поставлено std (мы-то дураки и не знали о существовании пространства имен) ничего тут хорошего нет. А ты уверен, что это боллее быстрый алгоритм???))) да, только в таком виде это или будет работать неверно, или ваще не будет работать))) прям здесь смотрел, ты прям здесь писал, а я прям здесь смотрел))) классно, вот ты ничего не обнуляешь))) введи в s два символа и будет классно, я обещаю))) -------------------- |
||||||||||
|
|||||||||||
| jonie |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
да, там есть одна опечатка: "if(counter[i]>1)" следует читать как "if(counter[i]!=1)", суть не меняется.
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||||||
|
|||||||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
может так?
просто я далеко не профи, но... то что у тебя написано: for(int i=0;i<sizeof(counter) / sizeof(counter[0]); ++i) { if(counter[i]>1) continue; std::cout<<(char)i; } Не совсем правильно, по-моему))) Компильни, я просто думаю, что результат не будет желаемым))) -------------------- |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
итак, поясню: мы имеем вектор от 0 до 255, каждый элемент которого есть счетчик попаданий этого символа в строку. Далее, мы будем выводить лишь те символы (код их будет именно i), которые встретились только раз. притом что будет сразу отсортировано по алфавиту чего не так-то? Это сообщение отредактировал(а) jonie - 14.12.2008, 17:50 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
извиняюсь, не понял задания немного. мой косяк... -------------------- |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |