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

Откорректировать программу: вхождение символов строки в другую строку - C++

Восстановить пароль Регистрация
 
TambowsWolf
0 / 0 / 0
Регистрация: 09.07.2011
Сообщений: 19
10.07.2011, 18:09     Откорректировать программу: вхождение символов строки в другую строку #1
Дана задача:
Написать и протестировать функцию STRS(str1, str2), Написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2.
Функция должна возвращать номер позиции первого символа строки str1, который совпадает с каким-небудь символом из строки str2, или -1, если соответствий нет.

Вот код:
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
#include <stdio.h>      
#include <conio.h>
#define K 80                
int STRS(char*,char*);
void main() 
{               
   char str1[K],str2[K];        
   int m;
   printf("\n Vvedite perviyu stroku:  ");
   scanf("%s",&str1);
   printf("\n Vvedite vtoruyu stroku:  ");
   scanf("%s",&str2);
   m=STRS(str1,str2);
   if(m!=-1)
   {
        printf("\n Simvoly sovpadayut : %d",m); 
   }
      else 
          printf("\n Ne sovpadauyt");
   getch();
   printf("\n\n");
}
 
//îïèñóºìî ïðèГ*öèï ðîáîòè ГґГіГ*êö³¿ STRP(str1, str2)
int STRS(char str1[],char str2[])
{
   int i1=-1,i2=-1,m,k=0;
   while(str1[++i1])
   {
        while(str2[++i2]) 
        {
            if(str1[i1]==str2[i2]) 
            {
                m=i1; k++; break;
            }
            else m=-1;
        }
        if(k!=0) break;
   }
   return m;
}

Возможно ли переделать эту задачу в задачу с таким условием:

Написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 18:09     Откорректировать программу: вхождение символов строки в другую строку
Посмотрите здесь:

Дан символ и строка, удвоить каждое вхождение символов в строку C++
Дан символ и строка, удвоить каждое вхождение символов в строку!!!! C++
Заменить в строке S последнее вхождение строки S1 на строку S2 C++
Копирование из одной строки в другую n символов, начиная с символа номер s C++
C++ Удалить часть символьной строки, заключенной в скобки (вместе со скобками). Нужно через вхождение в строку
Удалить часть символьный строки заключенной в скобки(вместе со скобками) . Нужно через вхождение в строку C++
Найти первое вхождение символов в строку C++
C++ Копировать несколько символов из одной строки в другую

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.07.2011, 18:24     Откорректировать программу: вхождение символов строки в другую строку #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
#include <stdio.h> 
 
int strs(const char*, const char*);
 
int main() 
{
    printf("%d", strs("abdef", "xyzd"));
    getchar();
    return 0;
}
 
int strs(const char* str1, const char* str2)
{
    if (str1 == NULL || str2 == NULL)
        return -1; //ошибка
 
    int i = 0, j;
    for (; str2[i] != 0; ++i)
    {
        for (j = 0; str1[j] != 0; ++j)
            if (str1[j] == str2[i])
                return 1; //встретился
    }
    
    return 0; //не встертился
}
Добавлено через 17 секунд
TambowsWolf, и не надо дублировать темы
Fadjr
1 / 1 / 1
Регистрация: 28.09.2015
Сообщений: 102
17.03.2016, 11:36     Откорректировать программу: вхождение символов строки в другую строку #3
Error 1 error C1853: 'Debug\k.pch' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ and you are using it from C (or vice versa). ошибку выдаёт
Yandex
Объявления
17.03.2016, 11:36     Откорректировать программу: вхождение символов строки в другую строку
Ответ Создать тему
Опции темы

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