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

функция - C++

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

Функция 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 !))
Андрейка
409 / 213 / 23
Регистрация: 25.03.2009
Сообщений: 716
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
2293 / 1663 / 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
2293 / 1663 / 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=(x^a + y^(TM))/((x+y)^a) C++
Функция C++
C++ z функция

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 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     функция
Ответ Создать тему
Опции темы

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