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

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

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

функция - C++

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

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

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

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

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

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

что за функция такая strstr? или это не функция? - C++
void search(sp *list){ sp *prt = list; char f,r; cout<<Rus("введите текст")<<endl; cin>>f; cout<<Rus("введите выходной...

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

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

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

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

Добавлено через 54 минуты
для меня сложно (
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2010, 02:02
Привет! Вот еще темы с ответами:

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

Функция заполняющая массив и функция вывода массива - C++
Напишите две функции. Первая функция заполняет массив, вторая функция выводит массив на экран

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include &lt;iostream&gt; #include &lt;algorithm&gt; const int N = 5; int handSet(void) { int a; std::cout...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
21.01.2010, 02:02
Ответ Создать тему
Опции темы

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