|
Модераторы: bsa |
|
kLASTER |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 14.9.2011 Репутация: нет Всего: нет |
Доброго времени суток!
Есть обычный массив, нужно сделать реверс значений, т.е. первому элементу присвоить последний, второму предпоследний и тд. Нужен алгоритм, но не функция. Что- то было такое в сортировках если память не изменяет! Заранее спасибо!!! |
|||
|
||||
fish9370 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
имеем два указателя один на начало второй на конец,
цикл, от 0 до размер массива деленный на два, указатель на начало увеличивается на единицу, указатель на конец уменьшается на единицу тело цикла, обмен значений, на которые ссылаются указатели мне кажется этот алгоритм ты мог бы придумать сам.. -------------------- undefined |
|||
|
||||
NoviceF |
|
|||
Опытный Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
а использование итераторов rbegin и rend не устраивает?
хехе.. что-то я под масивом сразу понял вектор.. Это сообщение отредактировал(а) NoviceF - 3.3.2013, 20:02 |
|||
|
||||
kLASTER |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 14.9.2011 Репутация: нет Всего: нет |
Я сначала сделал так:
потом дошло, что начинаю присваивать вторую половину дважды! |
|||
|
||||
fish9370 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
так нельзя делать, обмена же не происходит.. вводи дополнительную переменную.. -------------------- undefined |
|||
|
||||
NoviceF |
|
|||
Опытный Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
если STL нельзя использовать - лучше сразу уточняй
|
|||
|
||||
kLASTER |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 14.9.2011 Репутация: нет Всего: нет |
точно, третью переменную для смены местами.
fish9370, спасибо что напомнил. Попробуем. ПС Лана малому сказку пошел читать завтра попробую. |
|||
|
||||
Alca |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 2 Всего: 50 |
http://www.cplusplus.com/reference/algorithm/reverse/
|
|||
|
||||
Laregro |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.3.2013 Репутация: нет Всего: нет |
#include <iostream>
#include <cstring> using namespace std; int main() { char str[]="язык программирования С++"; char *start, *end; int len; char t; cout<<"Исходная строка:"<<str<<"\n"; len=strlen(str); start=str; end=&str[len-1]; while(start<end) { t=*start; *start=*end; *end=t; start++; end--; } cout<<"строка после реверсирования:"<<str<<"\n"; return 0; } |
|||
|
||||
noize |
|
|||
5.18.2 Профиль Группа: Участник Сообщений: 89 Регистрация: 10.7.2010 Где: СПб Репутация: нет Всего: 3 |
мой "топорный" вариант. Делал как задание из книги K&R
|
|||
|
||||
kolesnle |
|
|||
Упертый сишник Профиль Группа: Участник Сообщений: 93 Регистрация: 22.3.2013 Репутация: нет Всего: нет |
|
|||
|
||||
fish9370 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
Это сообщение отредактировал(а) fish9370 - 30.3.2013, 13:08 -------------------- undefined |
|||
|
||||
kolesnle |
|
|||
Упертый сишник Профиль Группа: Участник Сообщений: 93 Регистрация: 22.3.2013 Репутация: нет Всего: нет |
С чего ты взял что ему нужно именно char*?
Добавлено через 6 минут и 2 секунды
для char* |
|||
|
||||
fish9370 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 663 Регистрация: 15.4.2007 Где: Москва Репутация: 1 Всего: 1 |
а ты с чего взял, что эта строка меняет две ячейки местами? -------------------- undefined |
|||
|
||||
kolesnle |
|
|||
Упертый сишник Профиль Группа: Участник Сообщений: 93 Регистрация: 22.3.2013 Репутация: нет Всего: нет |
С intом все работает Ой, не работвет
Это сообщение отредактировал(а) kolesnle - 30.3.2013, 15:19 |
|||
|
||||
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |