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

строка задом на перед - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Многоугольник выпуклый или нет? http://www.cyberforum.ru/cpp-beginners/thread218091.html
Помогите пожалуйста написать функцию для проверки выпуклости многоугольника, заданный на плоскости перечислением координат его вершин в порядке обхода вершин по границе многоугольника
C++ В чем разница malloc и calloc? подскажите пожалуйста,в чем разница malloc и calloc? эмалок выделение динамической памяти а сиалок выделение чистой памяти. в смысле чистой? http://www.cyberforum.ru/cpp-beginners/thread218085.html
C++ Порог изображения
Здравствуйте. Я делаю курсовую на основе библиотеки OpenCV и у меня возник такой вопрос: На основе каких параметров делается расчет порога изображения ? Подскажите пожалуйста.
C++ не заходит в функцию
ребят посмотрите...в функцию ввода вообще не заходит #include<iostream> #include<cmath> using namespace std; void vvod(int *matr, int); int normsumm(int*,int*,int); int normproizv(int,int, int);
C++ Вопрос про память... http://www.cyberforum.ru/cpp-beginners/thread218075.html
Вот скажите пожалуйста в чем разница между int *p = new int; *p = 10; и int n = 10; не могу понять )
C++ матрица дана матрица 5*5,элементы которой случайные числа которые входят в диапазон Найти по модулю максимальное число из трехзначных чисел,и цифры этого числа записать в другой масив.Найти адрес первого отрицательного числа и записать в другой массив p. Разработать функции для работы программы: void inp(int x); int calc(int x,int y,int p); void out(int x,int y,int p); Прошу решить задачу. подробнее

Показать сообщение отдельно
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249

строка задом на перед - C++

22.12.2010, 17:44. Просмотров 712. Ответов 2
Метки (Все метки)

задание : . Напишите функцию, создающую новую строку, в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела.
функция:

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
void reverse (char *str1,char *signs)
{int i,n,a,b;
    char *str2,*tmp;
    str2=(char*)calloc(strlen(str1)+1,1); //
    b=strlen(str1)-1; 
    do {tmp=(char*)calloc(strlen(str1),1);
        for(i=b;i>=0;i--) {
            if(check_signs(str1[i],signs)) {
                a=i;
                break;}
            else continue;}
        for(i=a;i>=0;i--) {
            if(check_signs(str1[i],signs)==0) {
                b=i+1;
                break;  }
            else
                if((i==0)&(check_signs(str1[i],signs)!=0)) {
                    b=i;
                        break;  }
                else continue;}
        n=a-b+1;
        memcpy(tmp,&str1[b],n);
        strcat(str2,tmp);
        strcat(str2," ");
        b=b-1;
        free(tmp);}
    while(i!=0);
    printf("\nNew string:\n\n");
    for (i=0;i<strlen(str2)-1;i++)
        printf("%c",*(str2+i));
    printf("\n");
}
Добавлено через 2 минуты
Цитата Сообщение от Егорка47 Посмотреть сообщение
str2=(char*)calloc(strlen(str1)+1,1);
можно комментарий?
Цитата Сообщение от Егорка47 Посмотреть сообщение
do {tmp=(char*)calloc(strlen(str1),1);
и вот тут
Цитата Сообщение от Егорка47 Посмотреть сообщение
f(check_signs(str1[i],signs))
вот тут комментарий, если функция check_signs :

C++
1
2
3
4
5
6
bool check_signs(char a,char *signs)
{ int i;
for (i=0;i<strlen(signs);i++){
        if(a==signs[i])
        return false;}
    return true;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru