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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
#1

Сравнение строк без использования стандартной функции strncmp - C++

28.10.2010, 12:22. Просмотров 1687. Ответов 6
Метки нет (Все метки)

Написать программу, которая сравнивает строки не использую стандартную функцию strncmp.
При чем рассматривается только kol-size_t maxlen первых символов.

Помогите пожжалуйста, из лабораторной решил 3 задачи. осталась одна эта задача, я вообще незнаю как её реализовать, помогите пожалуйста. Сдавать мне её нужно во вторник.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 12:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сравнение строк без использования стандартной функции strncmp (C++):

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

Генератор случайных чисел без использования стандартной функции - C++
Нужен код генератора случайных чисел на c++ без использования функции rand(). Помогите пожалуйста , облазил весь интернет , не смог ничего...

Написать аналог шаблонной функции без использования стандартной (и других библиотек) - C++
Здравствуйте! Набрел на вот такой вопрос по C++. Вот мой вариант ответа: template<class Base, class Derived> bool...

Чтение и сравнение символов из файла без использования массива - C++
Здравствуйте, подскажите, как можно реализовать посимвольное чтение 2-х (3-х) файлов, при котором символ из 1-го файла сравнивается с...

Сравнение строк без нескольких символов - C++
Здравствуйте, у меня вопрос по сабжу. Есть задание на написание парсера, всё бы хорошо, только не знаю как оптимально сравнивать строки...

Сравнение строк без учета регистра - C++
Хэй! Есть ли в плюсах из коробки функция/метод сравнения строк без учета регистра? Или нужно метод compare из std::char_traits...

6
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
28.10.2010, 13:24 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool compare(char* first, char* second, int length)
{
    int i = 0;
    while(first[i] && second[i] && i < n)
    {
        if(first[i] != second[i])
            return false;
        ++i;
    }
    if(i != length)
        return false;
    return true;
}
1
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
28.10.2010, 15:09  [ТС] #3
Вот, заработало! Спасибо вам огромное! Слава этому ресурсу
0
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
01.11.2010, 23:43  [ТС] #4
Хотя нет, пришлось признаться, что я совсем тупой, ничего неполучается, а завтра последний срок, другие задачи сдал, а эта висит в долгу
0
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
01.11.2010, 23:50 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int mystrncmp(const char *str1, const char *str2, size_t num)
{
    unsigned char c1, c2;
 
    while (num > 0)
    {
        c1 = (unsigned char)*str1++;
        c2 = (unsigned char)*str2++;
 
        if (c1 == '\0' || c1 != c2)
            return c1 - c2;
 
        num--;
    }
 
    return c1 - c2;
}
1
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
01.11.2010, 23:56 #6
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>
 
bool compare(char*, char*, int);
 
int main() {
 
    const int size = 80;
    char str1[size], str2[size];
    std::cout<<"Input first line:\n> ";
    std::cin.getline(str1, size);
    std::cout<<"Input second line:\n> ";
    std::cin.getline(str2, size);
 
    std::cout<<compare(str1, str2, 5);
    return 0;
}
bool compare(char* first, char* second, int length)
{
    int i = 0;
    while(first[i] && second[i] && i < length)
    {
        if(first[i] != second[i])
            return false;
        ++i;
    }
    if(i != length)
        return false;
    return true;
}
1
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
02.11.2010, 00:04  [ТС] #7
Спасибо, всем кто помогал. M128K145 вам особенно большое спасибо, т.к. выдержали меня и мою тупость). Наконец-то модули могут быть закрыты. Еще раз спасибо.
0
02.11.2010, 00:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2010, 00:04
Привет! Вот еще темы с ответами:

Сравнение строк без учёта регистра - C++
Доброго времени суток. Функция strcmp сравнивает 2 строки с учётом регистра, а как можно сравнить без учёта?

Сравнение строк string без учета регистра - C++
Есть уже реализованная стандартная функция для решения такой задачи? Делал это через перевод обоих строк в нижний регистр и оператор...

Сравнение двух строк без учета пробелов - C++
Пишем в Microsoft Visual Studio 2010 -&gt; Win32 Console Application -&gt; C++ Задача такова: написать программу которая сравнивает две строки...

Сравнение строк без учета имеющегося в строке числа - C++
Есть строка содержащая слово и через пробел число, потом еще одно слово. Число может быть абсолютно любым, самое главное чтобы оно было....


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

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

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