Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
#1

Написать и протестировать функцию STR_CMP(str1,str2) - C++

24.05.2010, 10:08. Просмотров 1162. Ответов 19
Метки нет (Все метки)

добрый день...
очень нужна помощь...


Написать и протестировать функцию STR_CMP(str1,str2), которая сравнивает строки str1 и str2. Функция должна работать для русских букв, возвращать 1, если строки равны и 0 в противном случае.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2010, 10:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать и протестировать функцию STR_CMP(str1,str2) (C++):

Функцию, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления str2 в str1 - C++
Напишите функцию rightposition, которая получает два параметра str1 и str2 типа string и возвращает позицию начала последнего появления...

Заменить все вхождения str1 на str2 (str1 вводится из файла, а str2 - с клавиатуры) - C++
заменить все вхождения подстроки str1 на подстроку str2; строка str1 вводится из файла, а строка str2 с клавиатуры {Ha C++}

Написать програму которая заменяет все Enter и Tab в строке str1 на сымволи '\n' и '\t' в строке str2. - C++
а если не сложно то можно функцию

Заменить в строке все вхождения подстроки str1 на подстроку str2 - C++
заменить в строке все вхождения подстроки str1 на подстроку str2

Функция определяющая наличие символов строки str2 в строке str1 - C++
Написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки str2.

Заменить в строке все вхождения подстроки str1 на подстроку str2 - C++
Заменить в строке все вхождения подстроки strl на подстроку str2.

19
M128K145
Эксперт JavaЭксперт С++
8316 / 3536 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
24.05.2010, 10:32 #2
C++
1
2
3
4
5
6
7
int str_cmp(char *first, char *second)
{
    int i = 0;
    while(first[i] != '\0' && second[i] != '\0')
        ++i;
    return (first[i] == '\0' && second[i] == '\0') ? 1 : 0; 
}
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 18:58  [ТС] #3
1>Компоновка...
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
1>C:\Users\JeLovers\Documents\Visual Studio 2008\Projects\Лабораторная 4\Debug\Лабораторная 4.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\Users\JeLovers\Documents\Visual Studio 2008\Projects\Лабораторная 4\Лабораторная 4\Debug\BuildLog.htm"
1>Лабораторная 4 - ошибок 2, предупреждений 0
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
24.05.2010, 19:01 #4
Дайте код полностью
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 19:05  [ТС] #5
C++
1
2
3
4
5
6
7
int str_cmp(char *first, char *second)
{
    int i = 0;
    while(first[i] != '\0' && second[i] != '\0')
        ++i;
    return (first[i] == '\0' && second[i] == '\0') ? 1 : 0;     
}
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
24.05.2010, 19:06 #6
Да не функции, а всей программы... Или вы пытаетесь откомпилировать только функцию??
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 19:11  [ТС] #7
помогите дописать программу?????((((
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
24.05.2010, 19:18 #8
Так сразу и писали бы, что вам программа нужна, а не функция))

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int str_cmp(char *first, char *second)
{
    int i = 0;
    while(first[i] != '\0' && second[i] != '\0')
        ++i;
    return (first[i] == '\0' && second[i] == '\0') ? 1 : 0;     
}
 
int main()
{
    char str1[] = "abc";
    char str2[] = "abc";
    char str3[] = "def";
    int str12;
    int str13;
    
    str12 = str_cmp(str1, str2);
    str13 = str_cmp(str1, str3);
 
    printf("Stroki %s i %s ", str1, str2);
    
    if (str12 == 0)
        printf("ne ");
    
    printf("ravni\n");
 
    printf("Stroki %s i %s ", str1, str3);
    
    if (str13 == 0)
        printf("ne ");
    
    printf("ravni\n");
        
    getch();
    return 0;
}
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
24.05.2010, 19:21 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int str_cmp(char *sour, char *dest)
{
   if (strlen(sour) != strlen(dest))
      return 0;
   else
   {
      int i = 0;
      while (sour[i]  != '\0' && dest[i] != '\0')
      {
         if (sour[i] != dest[i]);
            return 0;
         i++;
      }
      return 1;
   }
}
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 19:26  [ТС] #10
kazak пожалуйста напиши программу для этой функции??????((((

Добавлено через 47 секунд
silent_1991
строки abc i abc ravni
строки adc i def ravni
во второй строке не вы водит частицу не
0
silent_1991
Эксперт С++
5005 / 3063 / 149
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
24.05.2010, 19:28 #11
Я не проверял функцию M128K145, возможно, она не рабочая. Попробуйте так

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int str_cmp(char *sour, char *dest)
{
   if (strlen(sour) != strlen(dest))
      return 0;
   else
   {
      int i = 0;
      while (sour[i]  != '\0' && dest[i] != '\0')
      {
         if (sour[i] != dest[i]);
            return 0;
         i++;
      }
      return 1;
   }
}
 
int main()
{
    char str1[] = "abc";
    char str2[] = "abc";
    char str3[] = "def";
    int str12;
    int str13;
    
    str12 = str_cmp(str1, str2);
    str13 = str_cmp(str1, str3);
 
    printf("Stroki %s i %s ", str1, str2);
    
    if (str12 == 0)
        printf("ne ");
    
    printf("ravni\n");
 
    printf("Stroki %s i %s ", str1, str3);
    
    if (str13 == 0)
        printf("ne ");
    
    printf("ravni\n");
        
    getch();
    return 0;
}
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
24.05.2010, 19:31 #12
Цитата Сообщение от kazak Посмотреть сообщение
if (sour[i] != dest[i]);
только точку с запятой уберите в этом if'е. Недоглядел.
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 19:35  [ТС] #13
Функция должна работать для русских букв, возвращать 1, если строки равны и 0 в противном случае
0
kazak
3057 / 2378 / 160
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
24.05.2010, 19:39 #14
Функция и с русскими буквами прекрасно работает.
0
Nikolai89
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 46
24.05.2010, 19:41  [ТС] #15
а программа какая для этой функции?????(
0
24.05.2010, 19:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2010, 19:41
Привет! Вот еще темы с ответами:

Функция: проверить, является ли строка str1 подстрокой строки str2 - C++
Доброго времени суток) кому не составит большого труда, прошу помочь с заданием) Написать функцию ISSUBSTR(str1,str2), которая выясняет,...

Заменить в строке все вхождения подстроки str1 на подстроку str2 - C++
заменить в строке все вхождения подстроки str1 на подстроку str2

Определить, встретился ли в строке str1 какой-нибудь символ из строки str2 - C++
Нужно написать и протестировать функцию STRS(str1, str2), которая определяет, встретился ли в строке str1 какой-нибудь символ из строки...

Исправить ошибку! Ввести две строки, если str1!=str2, то объединить их - C++
С помощью указателя на функцию нужно было реализовать программу, которая сравнивает две строки, если она неравны, то объединить их. ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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