2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
1

функция

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

Author24 — интернет-сервис помощи студентам
Напишите программу, которая использует функцию stremp для сравнения двух строк, введенных пользователем. Программа должна определить, является ли первая строка меньшей, равной или большей второй строки.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2010, 23:09
Ответы с готовыми решениями:

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

Функция удаления текста в скобках [2], непосредственно функция + 12кб вложений
Доброго времени суток, случилось так, что пришлось работать с с-строками (лаба, угу), в которой...

Функция sqrt: существует более одного экземпляра. Функция перегруженная
#include <iostream> #include <math.h> #include <iomanip> using namespace std; int main(){...

Перегрузка операций: friend-функция или функция-член класса
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и...

10
135 / 69 / 12
Регистрация: 10.10.2009
Сообщений: 187
20.01.2010, 23:41 2
наверное имеется в виду strcmp ???

Добавлено через 26 секунд
strlen тогда лучше
0
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
20.01.2010, 23:53  [ТС] 3
оу...нет в условий указана именно эта функция - stremp !))
0
425 / 229 / 87
Регистрация: 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;
}
0
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
21.01.2010, 00:34  [ТС] 5
пасиб большое каешн , но чтот как то неработает малёк((
0
19 / 19 / 2
Регистрация: 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;
        
}
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 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;
}
0
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
21.01.2010, 00:58  [ТС] 8
Пасиб товарисчи , но строки , как сказано в условие должен вводить пользователь ,,,поэтому тут как бэ загвоздочка ((
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 00:59 9
НЕваЖно, ты сначала напиши что сравнивать надо: длину строк или их содержимое?
А ввод строки можно написать и самому - это совсем не сложно.
0
2 / 2 / 0
Регистрация: 03.11.2008
Сообщений: 63
21.01.2010, 01:55  [ТС] 10
OVERPOWER8 , твой код отлично работает , переделай плиз чтобы был ввод с клавиатуры ! )))

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

Добавлено через 54 минуты
для меня сложно (
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 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;
}
0
21.01.2010, 02:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2010, 02:02
Помогаю со студенческими работами здесь

Какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()?
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()

что за функция такая strstr? или это не функция?
void search(sp *list){ sp *prt = list; char f,r; cout&lt;&lt;Rus(&quot;введите текст&quot;)&lt;&lt;endl; cin&gt;&gt;f;...

Чистая виртуальная функция функция не имеет оператора переопределения
Пишу программу для записи заметок. Есть 2 класса: Page и Note. Note наследуется от Page. ...

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru