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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
NookieFanity
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 4
#1

Сравнение строк, не используя strcmp - C++

17.04.2012, 12:06. Просмотров 1613. Ответов 5
Метки нет (Все метки)

Здравствуйте. Столкнулся с такой вот проблемой:
Задача: Написать процедуру сравнения строк, не используя strcmp.

На данном форуме нашел вот такую тему: пример

Мне показалось, что можно использовать её, но проблемка в введении этих строк с клавиатуры. У меня в коде это вот так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int main()
{
    char *stringa = new char[128]; 
    char *stringb = new char [128]; 
    setlocale(0, "Russian"); 
    printf("Введите первую строку: ");
    scanf("%s",stringa); 
    printf("Введите вторую строку: ");
    scanf("%s",stringb);
    if( stringa == stringb ) 
    {
        puts( "Одинаковые" );
    }
    else
    {
        puts( "Разные" );
    }
    
    system("pause"); 
    
    return 0;
}
Но мне вечно выдается:"разные". В чем может быть проблема?

З.Ы. Мне кажется, что намудрил как раз там где ввод строк
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2012, 12:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сравнение строк, не используя strcmp (C++):

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

Создайте функцию strcmp – сравнение двух строк, учитывая регистр символов - C++
Всем привет :) Объясните , пожалуйста, почему не работает программа (работает неправильно ). Несмотря на то , что строки одинаковые ,...

Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена - C++
Пожалуйста с этим заданием. Написать программу, которая описывает четыре массива. Три первых массива должны содержать имена, фамилии и...

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
17.04.2012, 12:16 #2
if( stringa == stringb )
сравнивает адреса строк, а они всегда разные.
функция сравнения строк
C++
1
2
3
4
5
6
bool cmp(char *a,char* b)
{
    for(int i=0;a[i]!=0 && b[i]!=0;i++)
          if(a[i]!=b[i])return false;
    return true;
}
1
NookieFanity
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 4
17.04.2012, 12:20  [ТС] #3
Благодарю за помощь. Сейчас попробую.
0
alexcoder
1464 / 678 / 89
Регистрация: 03.06.2009
Сообщений: 3,566
Завершенные тесты: 1
18.04.2012, 08:57 #4
Найдите переменные типа указатель и определите допустиы ли операции, выполняемые над ними
3-й пример в первом посте
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
18.04.2012, 19:39 #5
C++
1
2
3
4
5
int f3 (char *s, char *t){
for ( ; *s==*t; s++, t++)// Двигаемся по строкам до тех пор, пока они одинаковые
        if (*s == '\0') return 0; // Попался конец строки, возвращаем "разницы в строках нет"
    return *s-*t; // возвращаем первую найденную разницу
}
0
NookieFanity
0 / 0 / 0
Регистрация: 17.04.2012
Сообщений: 4
18.04.2012, 19:46  [ТС] #6
Всем спасибо за помощь. Программа готова.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2012, 19:46
Привет! Вот еще темы с ответами:

сравнение строк - C++
Подскажите как сравнить std::string и char *array ? может нужно преобразовать к одному типу сперва или функция какая есть ?

Сравнение строк - C++
Доброго времени суток! Имеется задачка: для двух заданных строк символов вывести без повторений набор символов-цифр, не вошедших в обе...

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

Сравнение строк - C++
Объясните пожалуйста по какому способу строки сравниваются? А то я сравнивал так и не понял в чем состоит хитрость. Допустим пример...


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

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

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