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

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

Войти
Регистрация
Восстановить пароль
 
wind_mill
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 45
#1

массив символов (строки) - C++

29.11.2011, 21:23. Просмотров 536. Ответов 2
Метки нет (Все метки)

Ребят, подскажите как реализовать:
нужно проверить встречаются ли в слове "привет", символы из слова "ракета"
если символы не встречаются (т.е. ввели "привет" и "как"), то вывести это первое слово "привет".

Пример:
ввели 1 слово "привет", 2-"пена" (встречаются "п" и "е") - не выводит "привет"
ввели 1 слово "привет", 2-"как" (не встречаются символы из слова "как") - вывели "привет)

Нельзя использовать ф-ии из библиотеки string.h )))

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

Преобразование строки символов в массив - C++
Подскажите, как преобразовать строку символов в массив?

Конвертация строки в массив символов - C++
Что тут не так?( getTextFromFile - считывает с файла сроку. Как переконвертировать строку что бы можно было установить в EDIT? string tmp...

Преобразование строки символов в массив - C++
void stuToArr(char s, int ar, int&size) { int i=0; size=0; forever { while (s='\0'&&!isdigit(s))i++; ...

Динамический массив символов. Обработка строки - C++
Реализовать функцию,принимающую только один параметр - динамический массив-строку s и ничего не возвращающую. Функция должна меня строку s...

Преобразование из строки юников в массив символов - C++
Нужно преобразовать юникод строку в набор символов (массив чар). Как это реализовать? Цель: из эдита получаю текст и записываю в буфер ...

Строки. Дан массив символов, в котором встречаются структуры <i> и </i> - C++
Дан массив символов, в котором встречаются структуры &lt;i&gt; и &lt;/i&gt;. Заменить каждое вхождение &lt;i&gt; на &lt;/i&gt;, а каждое вхождение &lt;/i&gt; на &lt;#&gt;....

Используя динамический массив выполнить перемещение всех цифровых символов в начало заданной строки - C++
Требуется помощь в написании следующей задачи -&gt; Ввести символьную строку. Выполнить перемещение всех цифровых сим-волов в начало...

Показать на экран с m по n символов строки, введенной пользователем и записать данный отрезок в другой массив - C++
Знает кто-то, как решить данную задачу на С++?При помощи строк. Показать на экран с m по n символов строки, введенной пользователем и...

Ошибка ввода символов строки, при количестве символов кратных 8 - C++
Здравствуйте, уважаемые форумчане! Разбираясь с механизмом ввода и динамическим выделением памяти для строк решил написать такой...

Дан массив а из 10 символов, массив b из 10 символов, и с = a+b - C++
Дан массив а из 10 символов, массив b из 10 символов, и с = a+b. Нужно отсортировать любой сортировкой, например: Сортировка слиянием или...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.11.2011, 21:47     массив символов (строки) #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
#include <stdio.h>
 
char* strtoch(const char* s1, const char* s2) {
  char* tmp = (char*)s1;
  const char* st;
  while(*s1) {
       for(st = s2; *st && *st != *s1; *st++);
       if(*st)
           return NULL;
      *s1++;
  }
  return tmp;
}
 
int main(void) {
  char* ptr;
 
  if(ptr = strtoch("robot", "bios"))
       puts(ptr);
 
  if(ptr = strtoch("Red", "Black"))
       puts(ptr);
  getchar();
  return 0;
}
wind_mill
1 / 1 / 0
Регистрация: 16.10.2011
Сообщений: 45
30.11.2011, 19:16  [ТС]     массив символов (строки) #3
благодарю )
что бы я делал без вас...

Добавлено через 21 час 17 минут
вот код рабочей программы:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*Ввести строку и слово. Вывести те слова, которые не содержат букв,
  входящих в слово.*/
 
 
#include <conio.h> // для getch()
#include <stdio.h>
 
void main (void)
{
    char *stringPtr=new char[100];
    char *wordsPtr=new char[100];
    char word[100];
    char s[100]; 
    int wlength;
    int x=0;
    
    puts("Enter string:");
    gets(stringPtr);
    puts("\nEnter word");
    gets(word);
    puts("\nThe resulting string:");
 
    for(int len=0; len<100; len++)
    {
        if(word[len]=='\0')
            wlength=len;
    }
    
    for(int j=0, k=0 ; j<=100; j++, k ++)
        {       
                if(stringPtr[j] == ' '|| stringPtr[j] == '\0')
                {       
                        wordsPtr[k] = '\0';
                        for(int x=0; x<=k; x++)
                            s[x]=wordsPtr[x];
                        for(int t=0; t<k; t++) // тут вся соль :D
                        {
                            for(int i=0; i<wlength; i++)
                            {
                                if(s[t]!=word[i])
                                continue;
                                else
                                    x=1;
                            }
                        }
                        if(x!=1)
                            puts(s);
                        x=0;
                        for(int z=0; z<=k; z++)
                            s[z]=0;
                        k=-1;
                }
                else
                    wordsPtr[k]=stringPtr[j];
    }
    getch();
}
кому интересно, могу прокомментировать
Ответ Создать тему
Опции темы

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