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

Нужно реализовать несколько функций - C++

Восстановить пароль Регистрация
 
Frai32
2 / 2 / 0
Регистрация: 24.08.2013
Сообщений: 134
22.01.2014, 04:58     Нужно реализовать несколько функций #1
C++
1
2
3
4
5
6
7
8
9
10
11
// копирует source в destination и возвращает указатель на destination
char* strcpy(char* destination, const char* source); 
 
// сравнивает строки лексикографически (как в телефонном справочнике). -1, если первая меньше второй, 0, если равны и 1, если первая больше второй
int strcmp(const char* str1. const char* str2);
 
// инвертирует строку на месте АБВ -> ВБА, возвращает указатель на себя
char* strrev(char* str);
 
// складывает две строки и возвращает указатель на destination
char* strcat (char* destination, const char* source);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 04:58     Нужно реализовать несколько функций
Посмотрите здесь:

Несколько функций в одной программе C++
Несколько функций - активна только одна C++
Добавить несколько функций C++
Разбить на несколько функций C++
C++ Нужно реализовать несколько ссылок
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V_Ghost
 Аватар для V_Ghost
9 / 9 / 0
Регистрация: 03.03.2011
Сообщений: 116
22.01.2014, 06:05     Нужно реализовать несколько функций #2
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string.h>
#include <stdio.h>                       /* для printf() */
 
int main()
{
   char *str = "образец строки";
   char  buf[32];                        // буфер размером больше строки
 
   memset(buf, 0, sizeof(buf));          // очистка буфера для вывода.
   // Альтернативный способ, если не требуется равенство нулю всех байтов:
   // *buf = '\0';
 
   printf("строка: \"%s\"\n", str);
   printf("буфер перед копированием: \"%s\"\n", buf);
 
   strcpy(buf, str);
 
   printf("буфер после копирования: \"%s\"\n", buf);
 
   return 0;
}
C++ (Qt)
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
//crt_strcmp.c
 
#include <string.h>
#include <stdio.h>
 
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown dog jumps over the lazy fox";
 
int main( void )
{
   char tmp[20];
   int result;
   /* Зависит от регистра */
   printf( "Compare strings:\n   %s\n   %s\n\n", string1, string2 );
   result = strcmp( string1, string2 );
   if( result > 0 )
      strcpy( tmp, "greater than" );
   else if( result < 0 )
      strcpy( tmp, "less than" );
   else
      strcpy( tmp, "equal to" );
   printf( "   strcmp:   String 1 is %s string 2\n", tmp );
   /* Не зависит от регистра (может использовать эквивалентную функцию _stricmp) */
   result = _stricmp( string1, string2 );
   if( result > 0 )
      strcpy( tmp, "greater than" );
   else if( result < 0 )
      strcpy( tmp, "less than" );
   else
      strcpy( tmp, "equal to" );
   printf( "   _stricmp:  String 1 is %s string 2\n", tmp );
}
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
//Следующая программа выведет на экран «hello» в обратном порядке:
#include <stdio.h>
#include <string.h>
char s[] = "hello";
main(void)
{
strrev(s);
printf(s);
return 0;
}
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
/* strcat example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[80];
  strcpy (str,"these ");
  strcat (str,"strings ");
  strcat (str,"are ");
  strcat (str,"concatenated.");
  puts (str);
  return 0;
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
22.01.2014, 12:38     Нужно реализовать несколько функций #3
V_Ghost, как-то странно Вы понимаете фразу:
Цитата Сообщение от Frai32 Посмотреть сообщение
Нужно реализовать
Frai32, предлагаю погуглить "имя функции + implementation". Быстро найдете всё, что нужно.
Frai32
2 / 2 / 0
Регистрация: 24.08.2013
Сообщений: 134
23.01.2014, 12:38  [ТС]     Нужно реализовать несколько функций #4
Пишу программу которая проверяет является ли слово полендромом

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
#include <iostream>
#include <conio.h>
#include <string.h>
 
int main()
{
    
    char* str = new char[10];
    
    std::cin>>str;
    char* str_copy = str;//êîïèÿ Г*Г*ГёГҐГЈГ® ñëîâГ*
   
  
   
   strrev(str); 
    
   std::cout<<str<<"\n"<<str_copy;//ïåðåâîðГ*Г·ГЁГўГ*ГҐГ¬ ñëîâî
    
    //åñëè ïåðåâ¸ðГ*ГіГІГ*Гї ñòðîêГ* ðîâГ*Г* ГҐВё êîïèè..
    if(str == str_copy)
    {
           std::cout<<"polindrom";//Г®Г*Г* ГЇГ*ëèГ*äðîì
    } 
    else if //ГЁГ*Г*Г·ГҐ...
    {
        std::cout<<"net";//Г*ГҐГІ
    }
    
    getch();
    
}
но почему то переменная которая копирует не перевёрнутое слово всё переворачивается вместе с ним .
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
23.01.2014, 12:43     Нужно реализовать несколько функций #5
Цитата Сообщение от Frai32 Посмотреть сообщение
if(str == str_copy)
потому что это сравнение указателей, а не строк. Хотите сравнивать строки - используйте strcmp() или std::string.

Не по теме:

p.s. палиндром.

Yandex
Объявления
23.01.2014, 12:43     Нужно реализовать несколько функций
Ответ Создать тему
Опции темы

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