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

Функция которая располагает строку в обратном порядке - C++

Восстановить пароль Регистрация
 
tinne
9 / 9 / 0
Регистрация: 13.10.2012
Сообщений: 279
13.10.2012, 23:34     Функция которая располагает строку в обратном порядке #1
Здравствуйте, надо написать функцию которая располагает строку в обратном порядке. Как это сделать используя (обязательно) адресную арифметику?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2012, 23:34     Функция которая располагает строку в обратном порядке
Посмотрите здесь:

функция Reverse которая паспологает строку в обратном положении-никакого результата C++
C++ отладить программу на языке С++, которая считывает из файла a.txt строку и записывает её в файл b.txt в обратном порядке
C++ Составить строку в обратном порядке
Вывести строку в обратном порядке. C++
C++ Функция invert, которая возвращает число,полученное записью всех цифр некоторого натурального N в обратном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2012, 23:42     Функция которая располагает строку в обратном порядке #2
В этом же массиве?
tinne
9 / 9 / 0
Регистрация: 13.10.2012
Сообщений: 279
13.10.2012, 23:49  [ТС]     Функция которая располагает строку в обратном порядке #3
Я думаю это не имеет значения. Можно в этом, а можно и в новом.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2012, 00:01     Функция которая располагает строку в обратном порядке #4
Как вариант, в том же:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
 int main()
 { 
    const int N = 9;
    char str[N] = "absdefgh";
    char ch;
    for (int i = 0, j = N - 2; i < (N / 2); i++, j--)
    {
        ch = *(str + i);
        *(str + i) = *(str + j);
        *(str + j) = ch;
    }
 
    cout << str << endl;
 
 cin.get();
 return 0;
 }
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.10.2012, 00:33     Функция которая располагает строку в обратном порядке #5
Цитата Сообщение от tinne Посмотреть сообщение
Здравствуйте, надо написать функцию которая располагает строку в обратном порядке. Как это сделать используя (обязательно) адресную арифметику?
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 <cstring>
 
using namespace std;
 
char* str_rev(char* str);
 
int main(){
    setlocale(LC_ALL, "");
    const int SIZE = 100;
    char str[SIZE];
 
    cout << "Пожалуйста введите строку:\n";
    cin.get(str, SIZE);
    cout << "Вы ввели строку, а вывели в обратном порядке: " << str_rev(str) << endl;
    return 0;
}
 
char* str_rev(char* str){
    for (char *start = str, *last = str + strlen(str) -1 ;start < last; ++start, --last){
        char temp = *start;
        *start = *last;
        *last = temp;
    }
 
    return str;
}
alsav22, у вас для заданной длины строки считает, а если не задана?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
14.10.2012, 00:41     Функция которая располагает строку в обратном порядке #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
#include <iostream>
 
char* Reverse(char* p)
{
    char* pa = p, *pb = p, c;
    while(*pb)
        ++pb;
    for(--pb; pb > pa; ++pa, --pb)
    {
        c = *pb;
        *pb = *pa;
        *pa = c;
    }
    return p;
}
 
int main()
{
    char s[] = "string # 1";
    Reverse(s);
    std::cout << s << std::endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 00:45     Функция которая располагает строку в обратном порядке
Еще ссылки по теме:

C++ вывести каждую 2-ю строку матрицы в обратном порядке
C++ Вывести строку, содержащую эти же слова, но расположенные в обратном порядке. Записать полученную строку в другой файл
C++ Напечатать строку в обратном порядке

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.10.2012, 00:45     Функция которая располагает строку в обратном порядке #7
Я же пишу, как вариант. А так согласен.
Yandex
Объявления
14.10.2012, 00:45     Функция которая располагает строку в обратном порядке
Ответ Создать тему
Опции темы

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