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

Не работает функция. Списки. - C++

Восстановить пароль Регистрация
 
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
15.05.2011, 14:46     Не работает функция. Списки. #1
Всем доброго времени суток.
Буду очень благодарна, если поможете)
Задача такова: создать 2х связный символьный (буквенный) список и заменить в нем символы "a" "e" "u" на "b" "f " "v"
В написанном мною коде все вроде бы работает, кроме основной функции, в которой я никак не могу найти причину неисправности(, а именно функция ZAMENA
Подскажите, что не так!))



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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdio.h"
#include "string.h"
typedef struct ft { char val;
ft *next;
ft *prev;};
 
ft *ins (ft *c)
{
ft *h=new (ft);
if (c==NULL) { h->next=NULL;
h->prev=NULL;}
else { h->next=NULL;
h->prev=c;
c->next=h;}
return h;
}
 
void showall (ft *c)
{
if (c!=NULL){
while (c->prev!=NULL) c=c->prev;
while (c->next!=NULL) { printf ("%4c", c->val);
c=c->next;}
printf ("%4c", c->val);}
else printf ("\n Spisok pust\n");
}
 
void zamena(ft*c)
{
while (c->prev!=NULL) c=c->prev;
 
{
if (c->val=='a') c->val='b';
if (c->val=='e') c->val='f';
if (c->val=='u') c->val='v';
}
}
 
 
void main ()
{
char x;
 
 
ft *c=NULL;
 
do { printf ("vvedite simvol: ");
scanf ("%c",&x);
c=ins(c);
c->val=x;
 
}
 
while (x!='1');
printf ("\nIshodnii spisok\n");
showall (c);
printf ("\konechnui spisok\n");
zamena (c);
showall (c);
 
}

Список вводится и формируется до нажатия символа "1"

Добавлено через 15 часов 26 минут
Кто нибудь, пожалуйста, подскажите, где ошибка!!!????????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 14:46     Не работает функция. Списки.
Посмотрите здесь:

C++ не работает функция!
C++ Не работает функция в С++
C++ Не работает функция sort
Не работает функция! C++
C++ Начал осваивать списки. Не работает вывод на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
15.05.2011, 14:58     Не работает функция. Списки. #2
Довольно странная реализация.

Цитата Сообщение от enotik Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
void zamena(ft*c)
{
   while (c->prev!=NULL) 
   c=c->prev;
   {
      if (c->val=='a') c->val='b';
      if (c->val=='e') c->val='f';
     if (c->val=='u') c->val='v';
   }
}
Попробуй так
C
1
2
3
4
5
6
7
8
9
10
void zamena(ft*c)
{
   while (c->prev!=NULL) 
   {
      if (c->val=='a') c->val='b';
      if (c->val=='e') c->val='f';
      if (c->val=='u') c->val='v';
      c=c->prev;
   }
}
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
15.05.2011, 23:32  [ТС]     Не работает функция. Списки. #3
Так тоже не работает, выводит исходный список и в качетсве результата опять же исходный список(((

Добавлено через 4 часа 3 минуты
Кто-нибудь, пожалуйста, гже ошибка?(
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.05.2011, 10:41     Не работает функция. Списки. #4
C++
1
2
3
typedef struct ft { char val;
ft *next;
ft *prev;};
C++
1
2
3
4
struct ft {
    char val;
    ft *next, *prev;
};
typedef неправильно сделан

C++
1
printf ("\konechnui spisok\n");
ошибка
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
16.05.2011, 23:29  [ТС]     Не работает функция. Списки. #5
C++
1
printf ("\konechnui spisok\n");
ошибка[/QUOTE]

А в чем??

Добавлено через 59 минут
?????

Добавлено через 1 час 26 минут
????????
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.05.2011, 01:45     Не работает функция. Списки. #6
C++
1
printf("konechnui spisok\n");
Yandex
Объявления
17.05.2011, 01:45     Не работает функция. Списки.
Ответ Создать тему
Опции темы

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