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

Стек без использования классов- только структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Печать и предварительный просмотр http://www.cyberforum.ru/cpp-beginners/thread358453.html
Как их сделать без VCL и MFC? Имеется 3 похожие задачи: 1. Печать и предварительный просмотр таблицы. 2. Печать и предварительный просмотр растровой графики, в том числе, 3D рендов. 3. Печать и предварительный просмотр векторной графики. Только во втором случае всё изображение заведомо помещается на листе целиком, а в первом и третьем случае требуется поддерживать размеры таблицы и рисунка,...
C++ undefined reference to winmain@16 pomogite 4to takoi undefined reference to winmain@16? ya ya napisal metoda sortirovka viborom http://www.cyberforum.ru/cpp-beginners/thread358422.html
C++ Не могу реализовать
Задача на С++ Подсчитать кол.-во равносторонних треугольников с различными длинами основания и вершинами в заданном множестве точек на плоскости и определить, пересекаются ли они. Всем заранее спасибо) Добавлено через 21 секунду Спасибо за помошь
2 задачи C++
Помогите с решение задач, пожалуйста(( 1.Дан список преподавателей, предмет и количество часов по предмету, ввести не менее 8 пре-подавателей, заполнить структуру, и вывести фамилии преподавателей с количеством часов меньше 200 и название предмета; 2.В строке вместо пробелов вставить запятую и пробел.
C++ Открытое наследовние (ООП) http://www.cyberforum.ru/cpp-beginners/thread358367.html
Создать класс Triangle с полями-сторонами. Определить методы изменения сторон, вычисления углов, вычисления периметра. Создать производный класс Equilateral (равносторонний), имеющий поле площади. Определить метод вычисления площади. Реализовать функцию получающую и возвращающую элементы базового класса. Продемонстрировать принцип подстановки.
C++ напишите в С++ программу-калькулятор арифметических функций напишите в С++ программу-калькулятор арифметических функций, используя switch подробнее

Показать сообщение отдельно
_масяня_
 Аватар для _масяня_
28 / 28 / 2
Регистрация: 18.12.2010
Сообщений: 158
30.09.2011, 10:27  [ТС]     Стек без использования классов- только структуры
вот что я смог сделать.. вывод немного не получаеться
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <malloc.h>
//---------------------------------------------------------------------------
 struct elem
{
    int val;//Значение элемента
    elem *prev;//указатель на предыдущий
    elem *next;//указатель на следующий
    };
typedef struct
{
    int l;//количество элементов
    elem *top;//верхушка
    elem *end;//end
    }stack;
//-----------------------------------------
void add(stack *s,int v)
{
  elem *x=(elem *)malloc(sizeof(elem));//создаем новый элемент(структуру)
  x->val=v;//заносим в val значение введенное
  if(s->top==NULL)
 {
 x->prev=NULL;
 x->next=NULL;
  s->top=x;
  s->end=x;
 }
 else
 {
  x->next=s->top;
  x->prev=NULL;
  s->top=x;     }
  s->l+=1;
 
 
 }
//-----------------------------------------
void add_end(stack *s,int v)
{
  elem *x=(elem *)malloc(sizeof(elem));//создаем новый элемент(структуру)
  x->val=v;//заносим в val значение введенное
  if(s->end==NULL)
 {
printf("Error!");
 }   
 else
 {
  x->prev=s->end;    
  x->next=NULL;
  
  s->end=x; 
  s->l+=1;  
  }
     
     
     
 }
//-----------------------------------------
void print(stack *s)
{
     elem *x;
     
     for(x=s->top;x;x=x->next)
     printf("%d\t",x->val);
}
//----------------------------------------
void print_e(stack *s)
{
  elem *x;
   
     for(x=s->end;x!=NULL;x=x->prev)
     printf("%d\t",x->val);
}
//----------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{       
 stack *a;
    int i=0;
    int v;
 
    a=(stack *)malloc(sizeof(stack));//создана структура хранящая в будушем указатель на текущий эелемент и количество элементов вообще
    a->top=NULL;
    a->end=NULL;
    a->l=0;//количество элементов
    do
    {
        printf("\n1)add element v nachalo\n");
        printf("2)add element v end\n");
        printf("3)vivod steka\n");
        printf("10)exit\n");
        printf("--------------\n");
        printf("vvedi punkt=\n");
        scanf("%d",&i);
        printf("------------------------------------\n");
        switch(i)
        {
            case 1:{
                   printf("vvedite element=");
                   scanf("%d",&v);
                   add(a,v);
                   getch();
                   break;
                   }
            case 2:{
                   printf("vvedite element=");
                   scanf("%d",&v);
                   add_end(a,v);
                   getch();
                   break;
                   }
            case 3:{
                   print(a);
                   getch();
                   break;
                   }
           case 4:{
                   print_e(a);
                   getch();
                   break;
                   }
        
        }
        }     
      while(i!=10);
      
getch();       
 
        return 0;
}
//---------------------------------------------------------------------------
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru