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

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

Восстановить пароль Регистрация
 
ProjectVenom
75 / 0 / 1
Регистрация: 12.09.2013
Сообщений: 62
02.04.2014, 16:04     Сравнение строк #1
Напишите программу, которая предлагает пользователю ввести две строки,
а затем сравнивает их, игнорируя "регистровые" различия, т.е. прописные и
строчные буквы ваша программа должна воспринимать как одинаковые.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2014, 16:04     Сравнение строк
Посмотрите здесь:

C++ Сравнение строк
сравнение строк C++
C++ Сравнение строк
C++ Сравнение строк
сравнение строк C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.04.2014, 16:21     Сравнение строк #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstring>
 
#define SIZE 256
 
int main() {
    char a[SIZE], b[SIZE];
    
    while ( std::cout << "String A: " && std::cin.getline(a, SIZE) && *a && std::cout << "String B: " && std::cin.getline(b, SIZE) && *b )
        std::cout << ( strcasecmp(a, b) ? "Different" : "The same." ) << std::endl;
    
    return 0;
}
Сравнение строк
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
02.04.2014, 16:30     Сравнение строк #3
как то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
 
int main()
{
    std::string left, right;
 
    std::getline(std::cin, left);
    std::getline(std::cin, right);
 
    std::for_each(left.begin(), left.end(), [](char & c){ c = std::tolower(c); });
    std::for_each(right.begin(), right.end(), [](char & c){ c = std::tolower(c); });
 
    if(left == right)
        std::cout << " strings is equals" << std::endl;
    else
        std::cout << " string is not equals" << std::endl;
    return 0;
}
Добавлено через 2 минуты
Господь всемогущий
C++
1
2
while ( std::cout << "String A: " && std::cin.getline(a, SIZE) && *a && std::cout << "String B: " && std::cin.getline(b, SIZE) && *b )
        std::cout << ( strcasecmp(a, b) ? "Different" : "The same." ) << std::endl;
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.04.2014, 16:33     Сравнение строк #4
Нездоровая альтернатива для фанатов майкрософт
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
02.04.2014, 16:38     Сравнение строк #5
Если это вы мне !? То не нужно показывать мне это виндо-говно-бред, а то у меня слабый желудок, я не фанат винды.
Просто то что Вы написали, меня пугает.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
02.04.2014, 16:51     Сравнение строк #6
Цитата Сообщение от egor2116 Посмотреть сообщение
Если это вы мне !?
Нет, функция strcasecmp() не стандартная функция С или С++, а стандарты BSD и POSIX мелкомягким не указ, в студии может и не работать, в борланд турбо с++ 3.х работать точно не будет, но там strcmpi() есть - своя поделка.
Yandex
Объявления
02.04.2014, 16:51     Сравнение строк
Ответ Создать тему
Опции темы

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