Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
san4elllo
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 36
#1

Найти символ строки - C++

24.01.2011, 20:12. Просмотров 2591. Ответов 31
Метки нет (Все метки)

Помогите пожалуйста выполнить задание

В С++ требуется Найти символ строки который встречается в строке только один раз. То есть, если в Edit ввести '33n222ab' то программа должна выдать символы n,a,b. Если в строке нет символа повоторяющегося только один раз, вывести соответствующее сообщение.

Заранее спасибо))))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 20:12     Найти символ строки
Посмотрите здесь:

Найти символ перехода строки - C++
пытаюсь удалить комментарии - не выходит глючит нахождение "\n" Help!!! string deleteComments(string str) { unsigned lenght =...

Найти встроке первый символ, равный одному из символов другой строки - C++
const char* my_strpbrk(const char* str, const char* chars); char* my_strpbrk( char* str, const char* chars); Найти в...

Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки) - C++
состоит из слов, разделенных одним или несколькими пробелами. Найти слово, один и тот же символ в котором встречается максимальное число...

Найти слово, один и тот же символ в котором встречается максимальное число раз (в рамках всей строки). - C++
Помогите пожалуйста! Строка состоит из слов, разделенных одним или несколькими пробелами.(может начинаться несколькими пробелами и...

(Ошибка)Находим первый символ строки 1,который не совпадает ни с одним символом из строки 2 - C++
Данный кусок программы не выполняет должной функции.Вроде бы всё правильно, но вместо символа "b" выдаёт символ "i".подскажите где ошибка. ...

Как переместить символ окончания строки /0 в конец строки? - C++
Это мне нужно сделать, чтоб не появлялись кракозябры. Причем сделать для всех строк подключенного к программе файла.

Необходимо найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки, используя символ "!" - C++
Вводится массив строк символов. Необходимо найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
san4elllo
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 36
24.01.2011, 22:05  [ТС]     Найти символ строки #16
Вот мой вариант.. нерабочий к сожалению

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str=Edit1->Text;
int i,j,c;
c=0;
for (i=1; i<=str.Length();i++)
c=0;
for (j=1; i<=str.Length();j++)
{
 if ((str[i]=str[j]) && (i!=j))
 c=c+1;
if (c=0)
str=str[i];
}
}
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
24.01.2011, 22:11     Найти символ строки #17
Цитата Сообщение от asics Посмотреть сообщение
Rusl_v, Да никто и не говорот, что код сложный или его кто-то не понимает, просто он не логичный.
Ща попытаюсь упростить,если получиться)

Добавлено через 4 минуты
Цитата Сообщение от volovzi Посмотреть сообщение
JULIK-, Rusl_v, ваши варианты плохи тем, что совершенно нечитаемы.
Напиши пожалуйста свой простой вариант,только если можно не через лямбду.Я бы с удовольствием посмотрел на упрощённый логический вариант,т.к. я учусь ещё
JULIK-
18 / 18 / 2
Регистрация: 24.01.2011
Сообщений: 120
24.01.2011, 22:15     Найти символ строки #18
Rusl_v, та я сам только на 2 семестре 1 курса =) но мне кажется всё довольно просто и примитивно меня только смущает while(*p!=*r&&*r||p==r) с таким условием можно запутаться =)
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
24.01.2011, 22:19     Найти символ строки #19
Цитата Сообщение от JULIK- Посмотреть сообщение
Rusl_v, та я сам только на 2 семестре 1 курса =) но мне кажется всё довольно просто и примитивно меня только смущает while(*p!=*r&&*r||p==r) с таким условием можно запутаться =)
*p!=*r - выполняеться условие пока символы не равны
и
*r - выполняеться условие пока указатель не указывает на конец строки
или
p==r - выполняеться условие если адреса равны,т.е. p[0] всегда будет равно r[0]...
Как бэ вот так))
san4elllo
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 36
24.01.2011, 22:21  [ТС]     Найти символ строки #20
Парни не отвлекайтесь))) Сделайте плиз что нибудь в стиле

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str=Edit1->Text;
int i,j,c;
c=0;
for (i=1; i<=str.Length();i++)
c=0;
for (j=1; i<=str.Length();j++)
{
 if ((str[i]=str[j]) && (i!=j))
 c=c+1;
if (c=0)
str=str[i];
}
}
Но только чтобы работалооо...((((
asics
24.01.2011, 22:21
  #21

Не по теме:

Цитата Сообщение от JULIK- Посмотреть сообщение
та я сам только на 2 семестре 1 курса
Ну а я вообще в еще 10 класе, так-что на то кто где учитса спригивать не будем

volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
24.01.2011, 22:22     Найти символ строки #22
Rusl_v, дело не в простоте условий, а в именовании переменных. Имена переменных должны передавать их назначение.
Byblick32
5 / 5 / 0
Регистрация: 24.06.2010
Сообщений: 14
24.01.2011, 22:32     Найти символ строки #23
Сань, жжешь напалмом))
Программа крайне примитивна, и 18 сточек кода для нее много)
И Почему на этом форуме примеры приложений всегда консольные?
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
24.01.2011, 22:32     Найти символ строки #24
Цитата Сообщение от volovzi Посмотреть сообщение
Rusl_v, дело не в простоте условий, а в именовании переменных. Имена переменных должны передавать их назначение.
Та ну Конечно, если ты пишешь код для других персон, то им так будет в разы понятнее, а если для себя... - вообщем "мой код - что хочу то и делаю"
Другое дело, что потом, через время, и сам запутаешься что где объявлял

ишь какой, придолбался к человеку )
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
24.01.2011, 22:37     Найти символ строки #25
Цитата Сообщение от volovzi Посмотреть сообщение
Rusl_v, дело не в простоте условий, а в именовании переменных. Имена переменных должны передавать их назначение.
т.е. я так понял ты мне советуеш называть переменные "своими именами"???т.е. если это строка - то переменная должна назыв. "strok" к примеру,(а не x или y) дабы не запутаться,я правильно понял тебя?
P.S. Если я пишу для себя что то я использую комменты //,и там всё тщательно описываю.
san4elllo
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 36
24.01.2011, 22:38  [ТС]     Найти символ строки #26
Да хорош уже членами мериться в моей теме))) Кто нибудь может мне нормально помочь?
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
24.01.2011, 22:39     Найти символ строки #27
Цитата Сообщение от san4elllo Посмотреть сообщение
Да хорош уже членами мериться в моей теме))) Кто нибудь может мне нормально помочь?
Тут тебе уже стопитсот кодов написали,алгоритмы есть,что ещё нуно?
Даже на лямбде написали.Хватай код и го тести и разбирайся с ним)
JULIK-
18 / 18 / 2
Регистрация: 24.01.2011
Сообщений: 120
24.01.2011, 22:41     Найти символ строки #28
san4elllo, тебе уже предложили 4 рабочих кода, тут уже твоё дело что выбрать
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
24.01.2011, 22:44     Найти символ строки #29
Rusl_v, со строкой-то, как раз, всё ясно. А вот назначение указателей "p" и "r" сразу непонятны. Просто лучше сразу называть переменные грамотно, чем подписывать комментарии к нечитаемой программе. Это называется "самодокументированность".

Добавлено через 1 минуту
То есть, грубо говоря, программа должна быть максимально приближена к "человеческому" языку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2011, 22:52     Найти символ строки
Еще ссылки по теме:

Нужно найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки, используя символ "!" - C++
Вводится массив строк символов. Необходимо найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки,...

Ввести две строки, заменить первый символ "r" символами второй строки - C++
Нужно ввести две строки . Заменить первый символ &quot;r&quot; символами второй строки.

Дан символ C и строки S, S0 - C++
Помогите с задачей решение нужно на С++ Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0

Сокращение строки на 1 символ С++ - C++
Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ. ...

Символ конца строки - C++
помогите пожалуйста, пишу программу в Линуксе, не распознаётся '\n'... вот например когда посимвольно перебираю строку и дохожу до конца,...


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

Или воспользуйтесь поиском по форуму:
Byblick32
5 / 5 / 0
Регистрация: 24.06.2010
Сообщений: 14
24.01.2011, 22:52     Найти символ строки #30
Цитата Сообщение от volovzi Посмотреть сообщение
Просто лучше сразу называть переменные грамотно, чем подписывать комментарии к нечитаемой программе. Это называется "самодокументированность".
Полностью поддерживаю.

Ведь не всегда речь идет о школьных программах, в которых используеться 1-5 переменных. В сложной программе без хорошо структурированного кода крайне трудно разобраться через некоторое время, тем более если переменные будут именоваться обезличенными именами.
Yandex
Объявления
24.01.2011, 22:52     Найти символ строки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru