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

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

Войти
Регистрация
Восстановить пароль
 
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
#1

функция - C++

20.01.2010, 23:09. Просмотров 877. Ответов 10
Метки нет (Все метки)

Напишите программу, которая использует функцию stremp для сравнения двух строк, введенных пользователем. Программа должна определить, является ли первая строка меньшей, равной или большей второй строки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2010, 23:09     функция
Посмотрите здесь:

C++ функция
C++ Функция
Функция C++
Функция a,b,c C++
C++ Функция y=f(x)
C++ Функция
C++ Функция.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Radjuk
 Аватар для Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
20.01.2010, 23:41     функция #2
наверное имеется в виду strcmp ???

Добавлено через 26 секунд
strlen тогда лучше
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
20.01.2010, 23:53  [ТС]     функция #3
оу...нет в условий указана именно эта функция - stremp !))
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
21.01.2010, 00:27     функция #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int stremp(const char *ptr, const char *ptr_2)
{
    size_t k = 0;
    size_t k2 = 0;
 
    while (*ptr != '\0')
    {
        k++;
        ptr++;
    }
 
    while (*ptr_2 != '\0')
    {
        k2++;
        ptr_2++;
    }
 
    if (k >  k2) return 1;
    else if ( k2 > k) return 0;
    else return -1;
}
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
21.01.2010, 00:34  [ТС]     функция #5
пасиб большое каешн , но чтот как то неработает малёк((
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
21.01.2010, 00:35     функция #6
Вот полный код программы:

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
#include <iostream>
#include <string.h>
using namespace std;
 
int stremp(char* fstr, char* sstr)
{
    int res = strcmp(fstr, sstr);
    return res;
}
 
int main()
{
    char str1[]="Onyx";
    char str2[]="Blazin";
    
    int res = stremp(str1, str2);
    
    if(res < 0)
        cout << "str1 < str2";
    else if(res == 0)
        cout << "str1 = str2";
    else
        cout << "str1 > str2";
        
    cout << endl;
    
    return 0;
    
}
А можно и так:

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
#include <iostream>
#include <string.h>
using namespace std;
 
void stremp(char* fstr, char* sstr)
{
        int res = strcmp(fstr, sstr);
        
        if(res < 0)
                cout << "str1 < str2";
        else if(res == 0)
                cout << "str1 = str2";
        else
                cout << "str1 > str2";
 
}
 
int main()
{
        char str1[]="Onyx";
        char str2[]="Blazin";
        
        stremp(str1, str2);
                                
        return 0;
        
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 00:37     функция #7
Если имеется ввиду длина строк - то проверь это:
C++
1
2
3
4
5
6
7
int stremp(const char *str1, const char *str2)
{
  while(*str1 != '\0' && *str2 != '\0')
    ;
 
  return (*str1 == '\0' && *str2 == '\0')? 0 : (*str2 == '\0') ? -1 : 1;
}
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
21.01.2010, 00:58  [ТС]     функция #8
Пасиб товарисчи , но строки , как сказано в условие должен вводить пользователь ,,,поэтому тут как бэ загвоздочка ((
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 00:59     функция #9
НЕваЖно, ты сначала напиши что сравнивать надо: длину строк или их содержимое?
А ввод строки можно написать и самому - это совсем не сложно.
НЕваЖно
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 61
21.01.2010, 01:55  [ТС]     функция #10
OVERPOWER8 , твой код отлично работает , переделай плиз чтобы был ввод с клавиатуры ! )))

Добавлено через 1 минуту
в условие про это ничего , но я думаю что длину строк!!!!!!!!!!!!!!!!!

Добавлено через 54 минуты
для меня сложно (
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2010, 02:02     функция
Еще ссылки по теме:

C++ Функция
C++ Функция f(x)
C++ Функция what()
Функция С++ C++
C++ Функция c++

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 02:02     функция #11
Цитата Сообщение от НЕваЖно Посмотреть сообщение
в условие про это ничего , но я думаю что длину строк!!!!!!!!!!!!!!!!!
Тогда так:
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
#include <iostream>
 
int stremp1(const char *str1, const char *str2)
{
  while(*str1 != '\0' && *str2 != '\0'){
    ++str1;
    ++str2;
  }
 
  return (*str1 == '\0' && *str2 == '\0')? 0 : (*str2 == '\0') ? -1 : 1;
}
 
int main()
{
  const int str_len = 260;
 
  char str1[str_len];
 
  std::cout << "Enter first string: ";
  std::cin >> str1;
 
  char str2[str_len];
 
  std::cout << "Enter second string: ";
  std::cin >> str2;
 
  switch(stremp1(str1, str2))
  {
  case 0:
    std::cout << "Lenght first string == Lenght second string" << std::endl;
    break;
 
  case -1:
    std::cout << "Lenght first string > Lenght second string" << std::endl;
    break;
 
  case 1:
    std::cout << "Lenght first string < Lenght second string" << std::endl;
    break;
  };
 
  system("pause");
 
  return 0;
}
Yandex
Объявления
21.01.2010, 02:02     функция
Ответ Создать тему
Опции темы

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