Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Hqw33
0 / 0 / 1
Регистрация: 25.03.2012
Сообщений: 21
#1

Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами. - C++

25.03.2012, 17:56. Просмотров 1489. Ответов 7
Метки нет (Все метки)

Пишу в Microsoft Visual Studio ->Win32 Console application ->C++.
Помогите пожалуйста Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 17:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами. (C++):

Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами
Имеется такое задание: Разработать функцию, которая сравнивает две строки,...

Функция, сравнивающая две строки, игнорируя количество пробелов между словами
Разработать функцию, которая сравнивает две строки, игнорируя количество...

Функция сравнивает две строки, игнорируя различия в регистрах
Я студент 1 курса на зачёт сказали написать программку помогите!! не хочу...

Вывести количество пробелов между словами в строке
:help:Помогите с программой:пользователь вводит строчку,а программа выводит...

Увеличить в два раза количество пробелов между словами
увеличить в два раза количество пробелов между словами

Строки определение максимального количества пробелов между словами
Слабо знаю строки в с++ . Помогите пожалуйста сделать эту задачу: Расстояние...

7
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 18:07 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool is_compare(string& first, string& second)
{
    istringstream ss1(first);
    istringstream ss2(second);
    string firstword, secondword;
    while (ss1 >> firstword && ss2 >> secondword);
    {
        if (firstword != secondword)
            return false;
    }
 
    return true;
}
0
Hqw33
0 / 0 / 1
Регистрация: 25.03.2012
Сообщений: 21
25.03.2012, 19:28  [ТС] #3
хммм... Без понятия что это)
Имелось в виду что то вроде этого.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
# include <locale>
#include <Windows.h>
using namespace std;
void main()
{
char str[100]="Hello, my dear friend!";
cin.getline(str,100);
char delimit[]=" .,!?-:";
char*p;
p=strtok(str,delimit);
int z=0;
while(p!=NULL)
{
    cout<<p<<endl;
    p=strtok(NULL,delimit);
    z++;
}
cout<<z;
}
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
# include <locale>
#include <Windows.h>
using namespace std;
void main()
{
int n;
char str [10]="123";
n=atoi(str);
cout<<n;
}
0
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 19:38 #4
Цитата Сообщение от Hqw33 Посмотреть сообщение
Пишу в Microsoft Visual Studio ->Win32 Console application ->C++
не вижу у вас фунции сравнения. То что вы написали это подсчет слов и перевод строки в число.
Просили с++, получайте
0
Hqw33
0 / 0 / 1
Регистрация: 25.03.2012
Сообщений: 21
25.03.2012, 19:46  [ТС] #5
Не уверен но это кажется c++ - Building а не консолька... нет?
0
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 19:53 #6
это Standart Template Library, неотъемлемая часть с++
консоль тут не причем
0
Duha666
51 / 51 / 19
Регистрация: 10.03.2012
Сообщений: 138
25.03.2012, 19:55 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool is_equal(char * str1, char * str2)
{
    pch1 = strtok(str1, " ,.-!?");
    pch2 = strtok(str2, " ,.-!?");
    while (pch1 != NULL && pch2 != NULL)
    {
        if (strcmp(pch1, pch2) != 0)
            return false;
        pch1 = strtok (NULL, " ,.-!?");
        pch2 = strtok(NULL, " ,.-!?");
    }
    return (pch1 == NULL && pch2 == NULL);
}
1
Hqw33
0 / 0 / 1
Регистрация: 25.03.2012
Сообщений: 21
27.03.2012, 16:09  [ТС] #8
Подскажите как в эту функцию вставить сам текст, который будет сравниваться?

Добавлено через 3 часа 19 минут
Кажется функция strtok нереентерабельная, грубо говоря - ее нельзя применять для двух строк.
И bool q(char * str1, char * str2) должна быть не в меин...
Не знаете как довести это все до ума?

Добавлено через 37 минут
Есть еще такой вариант

Но по нему имеются вопросы:
Для чего std::cout, что такое std, и для чего "::"?
И еще не совсем понятно как оно работает. В случаи если строки одинаковые выводит 0, если разные то 1 или -1, как это понимать?
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
#include <string.h>
#include <iostream>
void del2Space( char * str ) {
    char * p = str;
    while ( *p ) {
        *str = *p;
        str++;
        p++;
        while ( *p && *(p+1) && *p == ' ' && *(p+1) == ' ' ) {
            p++;
        }
    }
    *str = 0;
}
int compareNoSpaces( char * str1, char * str2 ) {
    del2Space( str1 );
    del2Space( str2 );
    return strcmp( str1, str2 );
}
int main()
{
    char str1[] = "Hello   world,  of    warkraft ! ";
    char str2[] = "Hello world,      of   warkraft   !  ";
    std::cout << compareNoSpaces( str1, str2 ) << std::endl;
}
0
27.03.2012, 16:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2012, 16:09
Привет! Вот еще темы с решениями:

Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов
Написать программу с использованием функции, которая сравнивает две строки,...

Сравнение строк, игнорируя пробелы между словами
Написать собственную функцию, без использования функций стандартной библиотеки,...

Определить функцию, которая, игнорируя исходное деление файла на строки, переформатирует его
помогите, нужна помощь, вот условие: Определить функцию, которая, игнорируя...

Разработать функцию, сравнивающую две строки
Всем привет. Возникла у меня проблема, т.к. я дуб. Задание:Разработайте...


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

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

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