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

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

Войти
Регистрация
Восстановить пароль
 
ProjectVenom
75 / 0 / 1
Регистрация: 12.09.2013
Сообщений: 62
#1

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

02.04.2014, 16:04. Просмотров 675. Ответов 5
Метки нет (Все метки)

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

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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,113
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
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
02.04.2014, 16:33     Сравнение строк #4
Нездоровая альтернатива для фанатов майкрософт
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,113
02.04.2014, 16:38     Сравнение строк #5
Если это вы мне !? То не нужно показывать мне это виндо-говно-бред, а то у меня слабый желудок, я не фанат винды.
Просто то что Вы написали, меня пугает.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
02.04.2014, 16:51     Сравнение строк #6
Цитата Сообщение от egor2116 Посмотреть сообщение
Если это вы мне !?
Нет, функция strcasecmp() не стандартная функция С или С++, а стандарты BSD и POSIX мелкомягким не указ, в студии может и не работать, в борланд турбо с++ 3.х работать точно не будет, но там strcmpi() есть - своя поделка.
Yandex
Объявления
02.04.2014, 16:51     Сравнение строк
Ответ Создать тему
Опции темы

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