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

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

Войти
Регистрация
Восстановить пароль
 
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
#1

Не могу найти ошибку - C++

31.01.2012, 08:56. Просмотров 409. Ответов 4
Метки нет (Все метки)

Вот сама задача:
Создайте свою версию библиотечной функции strcmp(s1, s2), которая срав¬нивает две строки и возвращает -1, если s1 идет нерпой по алфавиту, О, если в s1 и s2 одинаковые значения, и 1, если s2 идет первой по алфавиту. Назовите вашу функцию compstr(). Она должна принимать в качестве ар¬гументов два указателя на строки char*, сравнивать эти строки посим¬вольно и возвращать число int. Напишите функцию main() для проверки работы вашей функции с разными строками. Используйте указатели во всех возможных ситуациях.

Вот код программы:
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
#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Rus");
    int strcmp(char**, char**);
    char* s[]={"Hello"};
    char* s2[]={"Hello"};
    int i=0;
    i=strcmp(s,s2);
    if(i==0)
        cout << "Строки равны" << endl;
 
    system("pause");
    return 0;
}
int strcmp(char** s1[], char** s2[])
{
   if(s1<s2)
   {
      //S1 раньше идет чем s2
       return -1;
   }
   else if(s1==s2) 
       return 0;
   else
       return 1;
 
}
Вот ошибки компилятора:
fatal error LNK1120: 1 неразрешенных внешних элементов
error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl strcmp(char * *,char * *)" (?strcmp@@YAHPAPAD0@Z) в функции _main

Как это исправить можно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2012, 08:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку (C++):

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

Не могу найти ошибку - C++
Вот задание к которому надо придумать обработку исключительных ситуаций Поле first - положительное целое число, цена товара, поле second...

Не могу найти ошибку - C++
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; class Sum { public: int sum1 (int x1, int x2) { return x1 + x2; ...

Не могу найти ошибку. - C++
Добрый день всем! Опять у меня проблемы с моими &quot;любимыми&quot; шаблонами. Есть две шаблонные функции печатающие содержимое списка. Первая для...

Не могу найти ошибку - C++
Задание: Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
15990 / 10258 / 1536
Регистрация: 24.12.2010
Сообщений: 19,346
31.01.2012, 09:04 #2
C
1
int strcmp(char**, char**);
Вытащи перед main.
И советую во избежании наведенных ошибок обозвать функцию иначе, например StrCmp, Mystrcmp
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
31.01.2012, 09:07  [ТС] #3
Цитата Сообщение от Байт Посмотреть сообщение
C
1
int strcmp(char**, char**);
Вытащи перед main.
И советую во избежании наведенных ошибок обозвать функцию иначе, например StrCmp, Mystrcmp
а ваше где применять указатели надо, не ка немого понять
Байт
Эксперт C
15990 / 10258 / 1536
Регистрация: 24.12.2010
Сообщений: 19,346
31.01.2012, 09:07 #4
Посмотрел внимательнее, еще нашел плюхи
C
1
2
3
int strcmp(char**, char**);
char* s[]={"Hello"};
char* s2[]={"Hello"};
Надо
C
1
2
3
4
5
6
int strcmp(char*, char*);
char s[]="Hello";
char s2[]="Hello";
   // Или
char *s="Hello";
char *s2="Hello";
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,925
Записей в блоге: 1
31.01.2012, 09:21  [ТС] #5
Цитата Сообщение от Байт Посмотреть сообщение
Посмотрел внимательнее, еще нашел плюхи
C
1
2
3
int strcmp(char**, char**);
char* s[]={"Hello"};
char* s2[]={"Hello"};
Надо
C
1
2
3
4
5
6
int strcmp(char*, char*);
char s[]="Hello";
char s2[]="Hello";
   // Или
char *s="Hello";
char *s2="Hello";
спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2012, 09:21
Привет! Вот еще темы с ответами:

Не могу найти ошибку! - C++
Написал функцию &quot;Сортировка пузырьком&quot;, но почему то в конце функции выводит те же значения, что были изначальноO_o вот код: #include...

не могу найти ошибку - C++
ответ получается 0.386223 #include &lt;iostream.h&gt; #include&lt;math.h&gt; #include &lt;stdio.h&gt; void main() { int x= 14.26; int...

Не могу найти ошибку - C++
Доброго времени суток, вообщем такое задание: В одномерном массиве,состоящем из n вещественных элементов вычислить: 1. Произведение...

Не могу найти ошибку - C++
Здравствуйте,столкнулся с такой проблемой ,нужно было написать программу,которая определяет количество элементов,которые находятся в...


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

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

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