Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
тупой
0 / 0 / 1
Регистрация: 04.04.2011
Сообщений: 15
1

где ошибка!

25.06.2011, 19:43. Просмотров 471. Ответов 2
Метки нет (Все метки)

где ошибка!
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
typedef struct EList{
  char data;
    struct EList *next;
      } EList;
      EList* AddElem( EList*, char ); /* Включение элемента */
      void AddElem2( EList*, char );
      void PrnList( EList* ); /* Печать списка */
 
      void main(){
      EList* Head=NULL; /* Указатель на голову списка */
      EList* t;
      char c;
 
      /* Ввод данных и формирование списка */
      printf("\nВведите символы-элементы списка (завершение ввода-пробел).");
      printf("\nСимволы вводить без Enter после каждого символа");
      printf("\nВводите;");
      while( (c = getch()) != ' ' ){
        putch( c );
          Head = AddElem( Head, c );
            }
 
            /* Вывод результатов */
            printf( "\nРезультат:" );
            PrnList( Head );
     /* */
      printf("\nВведите новый символ-элемент списка ");
      putch(c);
      AddElem2( Head, c);
 
 
             /* Вывод результатов */
             printf( "\nРезультат:" );
             PrnList( Head );
 
 
            /* Освобождение памяти, занятой списком */
            while( Head != NULL ){
              t = Head;
                Head = Head->next;
                  free( t );
                    }
                    }/* main */
 
 
 
                    void AddElem2( EList *h, char inf )
                    {
                        EList *buf;
 
                       buf = (EList *)malloc( sizeof( EList ) );
                       buf->data = inf;
                       buf->next = NULL;
                       while ( (h->next) !=NULL)h=h->next;
                       h->next=buf;
                    };
 
 
                    EList *AddElem( EList *h, char inf )
                    /*********** AddElem **********
                    Действие:
                      Включает элемент в голову списка.
                      Параметры:
                        h - указатель на голову списка,
                          inf - информационная часть добавляемого элемента.
                          Возвращает:
                            указатель на голову списка или
                              NULL, если нет памяти для нового элемента.
                              Замечания: -
                              */
                              {
                              EList *buf;
 
                              if( !( buf = (EList *)malloc( sizeof( EList ) )))
                                return( NULL );
                                buf->data = inf;
                                buf->next = h;
                                return( buf );
                                }/* AddElem */
 
                                void PrnList( EList *h )
                void PrnList( EList *h )
                /*********** PrnList **********
                Действие:
                  Печатает список.
                  Параметры:
                    h - указатель на голову списка,
                    Возвращает: -
                    Замечания: -
                    */
                    {
                    printf( "\nСписок имеет следующий вид: " );
                    while( h != NULL ){
                      printf( "%c", h->data );
                        h = h->next;
                        }
                        {
                        EList* Head=NULL; /* Указатель на голову списка */
                        EList* t;
                        char c;}
                          }/* PrnList */
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2011, 19:43
Ответы с готовыми решениями:

Где ошибка
Помогите. Не знаю где ошибка(ошибки) в коде.#include &lt;stdio.h&gt; #include &lt;time.h&gt; #include...

где ошибка?
максимальные размеры массива - статические константы; • реальные размеры массива n i m (n &lt;N, m...

Где ошибка?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main() { int M, A, ch = 1, zn =...

где ошибка?
Найти среднее арифметическое и вместо максимального и минимального ср. арифметическое #include...

Где ошибка?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; int main() {...

2
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10297 / 6179 / 1555
Регистрация: 25.07.2009
Сообщений: 11,762
25.06.2011, 20:11 2
Цитата Сообщение от тупой Посмотреть сообщение
char data;
В весь код не вникал, первое, что попалось - точно data - одна буква? Или всё-таки массив/указатель на что-нибудь должен быть?
Да и с форматированием поаккуратнее - код ваш в таком виде пизанскую башню напоминает...
0
тупой
0 / 0 / 1
Регистрация: 04.04.2011
Сообщений: 15
25.06.2011, 21:41  [ТС] 3
Цитата Сообщение от easybudda Посмотреть сообщение
В весь код не вникал, первое, что попалось - точно data - одна буква? Или всё-таки массив/указатель на что-нибудь должен быть?
Да и с форматированием поаккуратнее - код ваш в таком виде пизанскую башню напоминает...


Это была функция которая включает новый узел в голову списка!
потом добавил еще один узел который вводит символ в конце списка!
только почему-то не запрашует ввод конечного символа! а так работает вроде!надо сделать чтобы можно было вводить конечный символ!а тал он почему - то пробелом оказывается!

Добавлено через 3 минуты
Цитата Сообщение от тупой Посмотреть сообщение
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
typedef struct EList{
  char data;
    struct EList *next;
      } EList;
      EList* AddElem( EList*, char ); /* Включение элемента */
      [COLOR="Red"]void AddElem2( EList*, char );[/COLOR]
      void PrnList( EList* ); /* Печать списка */
 
      void main(){
      EList* Head=NULL; /* Указатель на голову списка */
      EList* t;
      char c;
 
      /* Ввод данных и формирование списка */
      printf("\nВведите символы-элементы списка (завершение ввода-пробел).");
      printf("\nСимволы вводить без Enter после каждого символа");
      printf("\nВводите;");
      while( (c = getch()) != ' ' ){
        putch( c );
          Head = AddElem( Head, c );
            }
 
            /* Вывод результатов */
            printf( "\nРезультат:" );
            PrnList( Head );
     /* */
      [COLOR="Blue"][COLOR="#ff0000"]printf("\nВведите новый символ-элемент списка ");
      putch(c);
      AddElem2( Head, c);[/COLOR]
 
 
             /* Вывод результатов */
             printf( "\nРезультат:" );
             PrnList( Head );
[/COLOR]
 
            /* Освобождение памяти, занятой списком */
            while( Head != NULL ){
              t = Head;
                Head = Head->next;
                  free( t );
                    }
                    }/* main */
 
 
 
                   [COLOR="#ff0000"] void AddElem2( EList *h, char inf )
                    {
                        EList *buf;
 
                       buf = (EList *)malloc( sizeof( EList ) );
                       buf->data = inf;
                       buf->next = NULL;
                       while ( (h->next) !=NULL)h=h->next;
                       h->next=buf;
                    };[/COLOR]
 
 
                    EList *AddElem( EList *h, char inf )
                    /*********** AddElem **********
                    Действие:
                      Включает элемент в голову списка.
                      Параметры:
                        h - указатель на голову списка,
                          inf - информационная часть добавляемого элемента.
                          Возвращает:
                            указатель на голову списка или
                              NULL, если нет памяти для нового элемента.
                              Замечания: -
                              */
                              {
                              EList *buf;
 
                              if( !( buf = (EList *)malloc( sizeof( EList ) )))
                                return( NULL );
                                buf->data = inf;
                                buf->next = h;
                                return( buf );
                                }/* AddElem */
 
                                void PrnList( EList *h )
                void PrnList( EList *h )
                /*********** PrnList **********
                Действие:
                  Печатает список.
                  Параметры:
                    h - указатель на голову списка,
                    Возвращает: -
                    Замечания: -
                    */
                    {
                    printf( "\nСписок имеет следующий вид: " );
                    while( h != NULL ){
                      printf( "%c", h->data );
                        h = h->next;
                        }
                        {
                        EList* Head=NULL; /* Указатель на голову списка */
                        EList* t;
                        char c;}
                          }/* PrnList */
красным что я вставил! синим что не вводится с клавиатуры а должно!

Добавлено через 7 минут
введите новый символ!
putch(C)вот тут не работает почему-то!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2011, 21:41

Где ошибка?
Накопились вопросы: почему происходит аварийный выход? Как сделать так,чтобы прога распознавала...

Где ошибка?
После запуска выдаёт только &quot;Для продолжения...&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt;...

Где моя ошибка?
#include&lt;stdio.h&gt; #include&lt;math.h&gt; int main() { int n; int k; printf(&quot;write n and k&quot;);...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru