Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перернуть строку, ввести строку и перевнуть посимвольно  
:(
    Опции темы
merfi
Дата 22.1.2008, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



IDE MS DEV Studio C++ 2005 express
Задача: 
Введенную строку вывести наоборот. Реверс не простой. Надо выводить по одному символу начиная с последнего с задержкой в 500 мс.
Написал следующее:

int i ,j;
                 array<Char>^myArray = textBox1->Text->ToCharArray();
                 i = textBox1->Text->LastIndexOf("\0");
                 for(j=0; i>j; j++){
                     textBox1->Text = myArray[i];    // ругается на несовместимость типов
                     System::Threading::Thread::Sleep(500);

Может есть решение и короче 
Подскажите ламеру пожалуйста!! smile  
--------------------
Стремитесь к совершенству! Неуклонно идите вперед! Но помните, что Ковчег сделал любитель а Титаник построили профессионалы
PM MAIL   Вверх
NiJazz
Дата 22.1.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 2
Всего: 23



Можно вот так перевернуть строку:
Код

char str[] = "Кабан упал и лапу набоок";

size_t len = sizeof str / sizeof str[0] - 1;

for ( size_t i = 0; i < len / 2; ++ i )
{
    char& c1 = str[i];
    char& c2 = str[len-1-i];

    c1 = c1 ^ c2;
    c2 = c1 ^ c2;
    c1 = c1 ^ c2;
}

PM MAIL   Вверх
merfi
Дата 22.1.2008, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 16.3.2005

Репутация: нет
Всего: нет



Спасибо Все прекрасно работает А теперь представим что 
1 строка задается динамически 
2 используем визуальное программирование

--------------------
Стремитесь к совершенству! Неуклонно идите вперед! Но помните, что Ковчег сделал любитель а Титаник построили профессионалы
PM MAIL   Вверх
JackYF
Дата 22.1.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Цитата(merfi @  22.1.2008,  17:31 Найти цитируемый пост)
2 используем визуальное программирование

 smile это что?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Earnest
Дата 23.1.2008, 19:48 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(JackYF @  22.1.2008,  21:20 Найти цитируемый пост)
  это что? 

Двигаем операторы взглядом? smile 


--------------------
...
PM   Вверх
JackYF
Дата 23.1.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Ага. Или так: думаем в голове операторы, а они сами прописываются в текстовом редакторе, а дебагер имплантируется в мозг smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
jonie
Дата 23.1.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118




Модератор: Сообщение скрыто.



--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
NiJazz
Дата 24.1.2008, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 2
Всего: 23



Вот как динамически:
Код

char * str = new char[128];

strcpy( str, "Кабан упал и лапу набоок" );

size_t len = strlen( str );

for ( size_t i = 0; i < len / 2; ++ i )
{
    char& c1 = str[i];
    char& c2 = str[len-1-i];

    c1 = c1 ^ c2;
    c2 = c1 ^ c2;
    c1 = c1 ^ c2;
}


delete str;
str = 0;


Что касается визуального, то можно так: 
Код

SetWindowTextA( hwnd, str );


Это сообщение отредактировал(а) NiJazz - 24.1.2008, 19:23
PM MAIL   Вверх
Lycifer
Дата 25.1.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 4.11.2007

Репутация: нет
Всего: нет



А если у тебя буфер char переполнится?(ну хотя бы исключениями воспользуйся, ну или массив char-ов создай)
А насщёт "визуального программирования" - это как?

Добавлено через 4 минуты и 41 секунду
Ну предположем ты имел ввиду MFC? тогда вопрос какого типа переменная text?
Создай упровляющию переменную для комбобокса, и воспользуйся функциеё AddString();
описание не помню но кажется принимает char(если проект без  UNICODE) 
Посмотри в MSDN
PM MAIL ICQ   Вверх
NiJazz
Дата 25.1.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 2
Всего: 23



Цитата

А если у тебя буфер char переполнится?

А чтобы он не переполнился, мы сделаем его большим-пребольшим.  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.