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

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

Войти
Регистрация
Восстановить пароль
 
viper[ua]
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 48
#1

Сравнение строк - C++

14.03.2013, 22:08. Просмотров 678. Ответов 3
Метки нет (Все метки)

Написать собственную функцию, без использования функций стандартной библиотеки, которая сравнивает две строки, игнорируя количество пробелов между словами
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение строк (C++):

Сравнение строк - C++
Не прибегая к функциям сравнения строк, создайте программу, которая запрашивает у пользователя две строки и производит их сравнение,...

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

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

Сравнение 2 строк - C++
сравнивать строки я умею тут вопрос немного в другом. по какому принципу определяет что ab больше ba все мы канешно понимаем алфавит и...

Сравнение строк - C++
Всем привет, имеется строка записаная в масив, как мне сравнить первую букву єтой строки с єтой строкой. Я понимаю что нужно записать...

Сравнение 2-х строк S и s - C++
Заданы две строки S и s. Определить, является ли строка s префиксом, суффиксом, и тем, и другим или ни тем, ни другим для S. Строки S и s...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13133 / 7396 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
14.03.2013, 22:49 #2
Первое, что пришло на ум
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
bool mystrcmp(char* str1,char * str2){
    while(*str1==' ') str1++;
    while(*str2==' ') str2++;
    while(*str1 && *str2){
        if(*(str1++)!=*(str2++))
            return false;
        while(*str1==' ') str1++;
        while(*str2==' ') str2++;
    }
    return *str1==*str2;
}
 
int main()
{
    char s1[] = "My s  t rin g  ", 
         s2[] = "  My stri n g  ";
    std::cout << std::boolalpha << mystrcmp(s1,s2) << std::endl;
    return 0;
}
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
15.03.2013, 02:20 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
bool mystrcmp(const char *s1, const char *s2)
{
    while (*s1 && *s2)
    {
        if (*s1 == ' ')      s1++;
        else if (*s2 == ' ') s2++;
        else if (*s1++ != *s2++) return false;
    }
    return true;
}
 
int main()
{
    std::cout << std::boolalpha
        << "(Eniki, Eniki)      => " << mystrcmp("Eniki", "Eniki") << std::endl
        << "(Eniki, Eniki )     => " << mystrcmp("Eniki", "Eniki ") << std::endl
        << "( E niki , E n iki) => " << mystrcmp("  E niki  ", "E n iki") << std::endl
        << "(sEniki, Eniki)     => " << mystrcmp("sEniki", "Eniki") << std::endl
        << "(Eniki, Eniki s)    => " << mystrcmp("Eniki", "Eniki s") << std::endl;
}
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
22.03.2013, 20:12 #4
Добавляю комменты по просьбе ТС-а
C++
1
2
3
4
5
6
7
8
9
10
bool mystrcmp(const char *s1, const char *s2)
{
    while (*s1 && *s2) // пока указатели s1 и s2 не указывают на NULL
    {
        if (*s1 == ' ')      s1++; // если указатель s1 указывает на пробел, инкримируем его
        else if (*s2 == ' ') s2++; // иначе, аналогичное сравнение со вторым
        else if (*s1++ != *s2++) return false; // иначе если s1 указывает не на тот же символ, что и s2 возвращаем ложь. При проверке инкримируем указатели
    }
    return true; // достигли конца, все ок, возвращаем истину
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2013, 20:12
Привет! Вот еще темы с ответами:

Сравнение строк - C++
#include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;stdlib.h&gt; #include...

Сравнение строк - C++
Есть два файла,достаю из первого - 1-ю строку и из 2 - 1-ю строку Они имеют вид: 1;bla;3412;sha;1234;4321;28.15; ...

Сравнение строк - C++
Добрый вечер. Пользователь должен ввести слово которое находиться в инструкции if и ему должно показать что ответ верный. Но почему то...

Сравнение строк - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; int main(){ char s1,s2; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.03.2013, 20:12
Ответ Создать тему
Опции темы

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