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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ЛераБ
 Аватар для ЛераБ
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
30.11.2012, 00:07     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #1
Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов. Если аргумент только один, то найти длину этой строки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string.h>
using namespace std;
void func(string s1=NULL, string s2=NULL);
int main()
{setlocale(LC_ALL,"Russian");
string s1="первая"; string s2="вторая";
func("gsdjd","whtj");
func(s1,s2);
//cout«s1«"\n";
//cout«s2«"\n";
system("pause");
return 0;
}
void func(string s1, string s2)
{
if (s1.size()==s2.size()) cout«"Строки равны \n";
else if (s1.size()>s2.size()) cout«"Первая строка больше второй \n";
else cout«"Вторая строка больше первой \n";
}
Тут нету самого главного куска)Который выводит размер,а с ним то как раз и проблемы:то обнуляет, то компилятор ругается.Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 00:07     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов
Посмотрите здесь:

написать функцию которая удалит из строки заданные символы. C++
Напишите программу, содержащую функцию, которая принимает два числа в качестве аргументов и возвращает их произведения. C++
Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами C++
C++ Разработать функцию, которая сравнивает две строки, игнорируя количество пробелов между словами.
Написать программу,которая сравнивает два числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 00:31     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #2
код из книжки?
не очень понял, что обнуляется. задача решается так: либо создается функция сравнения, принимающая только один аргумент, либо внутри уже написанной функции сравнения надо проверять второй аргумент на пустоту
Leo Di Grigio
 Аватар для Leo Di Grigio
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
30.11.2012, 00:47     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #3
Можете использовать перегрузку. Если я верно понял задачу.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <string>
 
using namespace std;
 
// прототипы
void func(string, string);
void func(string);
 
int main()
{
    setlocale(0,".1251");
    string first, second;
 
    cout << "Введите первую строку: ";
    cin >> first;
    cout << "Введите вторую строку: ";
    cin >> second;
 
    func(first, second);
    func(first);
    func(second);
 
    system("pause");
    return 0;
}
 
// функция сравнивает строки
void func(string first, string second)
{
    if (first == second)
    {
        cout << "Строки одинаковы" << endl;
    }
    else
    {
        cout << "Строки различны" << endl;
    }
}
 
 
// функция выводит размер
void func(string in)
{
    cout << in.size() << endl;
}
Neznakomec
 Аватар для Neznakomec
3 / 3 / 0
Регистрация: 23.10.2012
Сообщений: 17
30.11.2012, 01:28     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #4
Цитата Сообщение от Leo Di Grigio Посмотреть сообщение
Можете использовать перегрузку. Если я верно понял задачу.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <string>
 
using namespace std;
 
// прототипы
void func(string, string);
void func(string);
 
int main()
{
    setlocale(0,".1251");
    string first, second;
 
    cout << "Введите первую строку: ";
    cin >> first;
    cout << "Введите вторую строку: ";
    cin >> second;
 
    func(first, second);
    func(first);
    func(second);
 
    system("pause");
    return 0;
}
 
// функция сравнивает строки
void func(string first, string second)
{
    if (first == second)
    {
        cout << "Строки одинаковы" << endl;
    }
    else
    {
        cout << "Строки различны" << endl;
    }
}
 
 
// функция выводит размер
void func(string in)
{
    cout << in.size() << endl;
}
Ты сделал перегрузку функции причем не правильно, ввел одно и тоже имя для функции и типы одинаковые из-за этого она некорректо работает, не давая вводить вторую строку..
" // прототипы
void func(string, string);
void func(string); "
ЛераБ
 Аватар для ЛераБ
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
30.11.2012, 01:29  [ТС]     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #5
нечто такое она выводит. У меня мозгов не хватает, чтоб исправить.
Миниатюры
Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов  
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 01:32     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #6
Neznakomec, перегрузка верная

Добавлено через 1 минуту
ЛераБ, программа написана для строк без пробелов
Leo Di Grigio
 Аватар для Leo Di Grigio
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
30.11.2012, 01:36     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #7
C++
1
2
3
4
    cout << "Введите первую строку: ";
    getline(cin, first);
    cout << "Введите вторую строку: ";
    getline(cin, second);
Замените ввод, пожалуйста.
И ... перегрузка вроде верна. Суть перегрузки(для этого случая) в том, что бы одна и та же функция принимала разные параметры.
ЛераБ
 Аватар для ЛераБ
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 12
30.11.2012, 01:54  [ТС]     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #8
Поздно выпила боржоми... нужно что бы строки были уже введены. Извините за тормознутость и беспокойство. Существующая программа хорошо работает, спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 02:06     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов
Еще ссылки по теме:

C++ Написать программу, которая вычисляет оптимальный вес девушки, сравнивает его с реальным
Написать программу, которая вычисляет значение функции от двух аргументов Х и У C++
Написать программу,которая сравнивает два числа,введеных с клавиатуры C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
30.11.2012, 02:06     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int madcmp(const std::string & s1, const std::string & s2 = "" ) {
    return s1.compare(s2);
}
 
int main() {
    std::string s1 = "abc", s2 = "xyz";
    
    std::cout << madcmp(s1, s2) << std::endl << madcmp(s1) << std::endl;
    
    return 0;
}
Yandex
Объявления
30.11.2012, 02:06     Написать программу с использованием функции, которая сравнивает две строки, заданные в качестве её аргументов
Ответ Создать тему
Опции темы

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