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

Как поменять местами элементы строки - C++

Восстановить пароль Регистрация
 
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
20.03.2011, 18:31     Как поменять местами элементы строки #1
Собственно сабж вот в чём, как поменять местами элементы в строке, меняя только адрес.
Вот функция, где str - адрес первого элемента строки, n - количество элементов:
C++
1
2
3
4
5
6
7
8
9
10
void gaz(char *str, int n)
{
        char p;
        for (int i=0, j=n-1; i<j; i++, j--)
        {
                p=*(str+j);
                *(str+j)=*(str+i);
                *(str+i)=p;
        }
}
т.е. мне нельзя использовать индексы. Нужно просто писать str++ или str--
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2011, 18:31     Как поменять местами элементы строки
Посмотрите здесь:

Поменять местами строки, содержащие минимальные и максимальные элементы матрицы C++
C++ Найти наибольший и наименьший элементы каждой строки прямоугольной матрицы и поменять их местами
C++ В двумерном массиве размерностью nxm поменять местами минимальный и максимальный элементы каждой строки
C++ Массив: В таблице поменять местами элементы первой и последней строки
Поменять местами первую и последнюю строки матрицы, которые содержат одинаковые элементы C++
C++ Поменять в матрице местами максимальный и минимальный элементы каждой строки
В прямоугольной матрицы поменять местами строки, содержащие максимальный и минимальный ее элементы C++
C++ В матрице А(4-строки, 3-столбца) поменять местами наибольшие элементы в первом и третьем столбцах

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
20.03.2011, 19:30     Как поменять местами элементы строки #2
C++
1
2
3
4
5
6
7
8
void gaz(char *str, int n){
    char p;
    for (char *sec=str+n-1; str<sec; str++, sec--){
        p=*str;
        *str=*sec;
        *sec=p;
    }
}
Yandex
Объявления
20.03.2011, 19:30     Как поменять местами элементы строки
Ответ Создать тему
Опции темы

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