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

Поиск позиции символа в строке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.88
Tsukyne
8 / 8 / 0
Регистрация: 06.08.2010
Сообщений: 67
12.01.2012, 17:58     Поиск позиции символа в строке #1
Здравствуйте, у меня есть строка со словом и строка с прочерками (--------), длина у них одинаковая,
есть кнопки, на которых буквы алфавита. Мне нужно, чтоб при нажатии на любую из кнопок проверялась строка со словом на наличие символа (буквы алфавита) и если символ присутствует в строке со словом, то в строку с прочерками вставить этот символ на ту позицию, в которой он (символ) находится в строке со словом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 17:58     Поиск позиции символа в строке
Посмотрите здесь:

C++ Поиск в заданной строке последнего вхождения заданного символа
C++ поиск символа в строке...
C++ Поиск в строке первого вхождения указанного символа - ошибки
Осуществить поиск в строке первого вхождения указанного символа (Маленькая доработка) C++
C++ Определить последнее вхождение символа “р” в строке и вывести строку, начиная с первого символа и до последнего “р” в строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.01.2012, 19:01     Поиск позиции символа в строке #2
Ну например.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>
 
int main(int argc, char *argv[]) {
  std::string source("thirtyfourth");
  std::string destination;
  
  std::fill_n(std::inserter<std::string>(destination, destination.begin()), source.size(), '-');
  
  std::cout << "Source word is '" << source << "'" << std::endl;
 
  for (char c = 'a'; c <= 'z'; ++c) {
    std::cout << "Symbol: '" << c << "'" << std::endl;
    if (source.find(c) != std::string::npos) {
      for (size_t i = 0; i != source.size(); ++i)
        if (source[i] == c) destination[i] = c;
      std::cout << destination << std::endl;
    } else {
      std::cout << "Symbol not found." << std::endl;
    }
    if (source == destination) {
      std::cout << "That's it. The word is '" << destination << "'" << std::endl;
      break;
    }
  }
  
};
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
12.01.2012, 20:17     Поиск позиции символа в строке #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
nt main (void)
{
    char s[] = "initial string";
    char r[] = "--------------";
    puts("Enter char:");
    char c=getche();
    for(int i=0;s[i]!=0;i++)
        if(s[i]==c)r[i]=c;
    printf("\n%s\n%s\n",s,r);
    getch();
    return 0;
}
Tsukyne
8 / 8 / 0
Регистрация: 06.08.2010
Сообщений: 67
13.01.2012, 12:58  [ТС]     Поиск позиции символа в строке #4
Спасибо, мне уже не нужен этот алгоритм =)
Yandex
Объявления
13.01.2012, 12:58     Поиск позиции символа в строке
Ответ Создать тему
Опции темы

Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru