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

Реверсированный список - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
doommer
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 22
20.08.2010, 13:12     Реверсированный список #1
Ребятки, хелпаните! Через указатели желательно, надо не по простому варианту) Написать списочек, в который мы вводим данные, а на выходе у нас введенные данные, но в обратном порядке.. Я как понял надо еще один список создать для данных, которые выходять в обратном порядке?!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2010, 13:12     Реверсированный список
Посмотрите здесь:

Список: связный список, в котором информация о книгах сортируется по убыванию стоимости. C++
C++ 3 класса: список, стек(как список), очередь(как список)
list. Cоздать список из результатов(с массивами), а потом просмотреть весь список C++
C++ создать список л3 из элементов входящих и в список л1 и в список л2
C++ Необходимо создать список, элемент которого может быть список
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
29.08.2010, 16:40     Реверсированный список #21
Цитата Сообщение от doommer Посмотреть сообщение
Я нашел мааааленькую ошибочку)) В этой программульке функция меняет данную строку, должна ее не трогать, а просто выводить новую строку...
Это не "ошибочка", это в очередной раз с условием не задалось. Ну создайте дополнительный буфер, копируйте в него прочитанную строку и передавайте его в функцию...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doommer
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 22
30.08.2010, 11:46  [ТС]     Реверсированный список #22
Я чуть чуть переписал, чтоб цикл for не перегружать, но так и не понял, что сделать со строкой... правда и сие чудо не работает( Тоже не могу ошибку найти! Проверьте плиз!

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
#include <stdio.h>
 
char *string_rev(char *s)
{
char *pTail = s;
while (*pTail != '\0'); 
    {
    ++pTail;
    }
 
pTail = pTail-1;
for (char *pHead = s; pHead < pTail; pHead++, pTail--) 
   {
    char c = *pHead;
    *pHead = *pTail;
    *pTail = c;
   }
 return s;
}
int main()
{
    char buf[BUFSIZ];
 
    printf("String:  ");
    scanf("%[^\n]%*c", buf);
    printf("Reverse String : %s\n", string_rev(buf));
 
    return 0;
}
Добавлено через 16 часов 36 минут
I need help ppl, please!
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
31.08.2010, 11:53     Реверсированный список #23
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
#include <stdio.h>
 
char * strreverse(const char * inStr, char * outStr, int size){
    const char * pIn;
    char * pOut;
    
    for ( pIn = inStr; *pIn; ++pIn)
        ;
    
    for ( pOut = outStr; pIn > inStr && size > 1; --size )
        *pOut++ = *--pIn;
    *pOut = '\0';
    
    return outStr;
}
 
int main(void){
    char inBuf[BUFSIZ], outBuf[BUFSIZ];
    
    printf("String: ");
    scanf("%[^\n]%*c", inBuf);
    printf("Result: %s\n", strreverse(inBuf, outBuf, BUFSIZ));
    
    return 0;
}

Не по теме:

Интересно, что на этот раз не так окажется...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2010, 12:38     Реверсированный список
Еще ссылки по теме:

Создать список, после каждого отрицательного числа вставить в список 0 C++
Сформировать список из 10 работников, используя динамическую структуру данных двусвязный список C++
C++ Сформировать список из 10 книг, используя динамическую структуру данных односвязный список

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

Или воспользуйтесь поиском по форуму:
doommer
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 22
31.08.2010, 12:38  [ТС]     Реверсированный список #24
Спасибо, easy! Вы реально мне с этим очень помогли! Можно закрывать тему))) Больше ничего не буду писать, ибо разобрался)
Yandex
Объявления
31.08.2010, 12:38     Реверсированный список
Ответ Создать тему
Опции темы

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