Как реализовать создание динамического массива, элементы (узлы) которого являются структурами - C (СИ)
Формулировка задачи:
Не могу понять как реализовать создание динамического массива, элементы(узлы) которого являются структурами.
У меня даны следующие структуры:
Не понимаю зачем мне создавать массив(а это требуется в задании), если мне задана структура intarray,узлы которой являются тоже структурами.
Или структура - это тоже массив, только с разными типами?!
В общем не знаю как создать динамический массив используя описанные структуры
Я начал так:
Заранее спасибо Всем, кто хоть чем то поможет)
Листинг программы
- // Объявляем шаблон структуры с полями для каждого узла
- struct array_element {
- int element;
- struct array_element * next;
- struct array_element * prev;
- };
- // Объявляем шаблон структуры с полями для самого массива
- struct intarray {
- struct array_element * first;
- struct array_element * last;
- int lowbound;
- int highbound;
- int buffer;
- };
- typedef struct intarray *intarray;
Листинг программы
- intarray fun_number_one_array;
- fun_number_one_array = malloc(sizeof(struct intarray));
Решение задачи: «Как реализовать создание динамического массива, элементы (узлы) которого являются структурами»
textual
Листинг программы
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "Unit1.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm1 *Form1;
- class Queue
- {
- public:
- int dat;
- Queue *next;
- Queue()
- {
- dat=0;
- next=NULL;
- }
- };
- class stack :public Queue
- {
- protected:
- Queue *last;
- public:
- int num;
- stack()
- {
- last=NULL;
- num=0;
- }
- int push(int d)
- {
- Queue *s;
- s=new Queue;
- s->dat=d;
- s->next=last;
- last=s;
- num++;
- return d;
- }
- int pop()
- {
- int d;
- Queue *s;
- s=last;
- d=last->dat;
- last=s->next;
- delete s;
- num--;
- return d;
- }
- };
- //---------------------------------------------------------------------------
- __fastcall TForm1::TForm1(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button2Click(TObject *Sender)
- {
- Close();
- }
- //---------------------------------------------------------------------------
- void __fastcall TForm1::Button1Click(TObject *Sender)
- {
- int n,r;
- n=StrToInt(Edit4->Text);
- StringGrid1->ColCount=n;
- StringGrid2->ColCount=n;
- StringGrid3->ColCount=n;
- stack s;
- int res,set;
- for(int i=0;i<StringGrid1->ColCount;i++)
- {for(int j=0;j<StringGrid1->RowCount;j++)
- {
- StringGrid1->Cells[i][j]="";
- StringGrid2->Cells[i][j]="";
- StringGrid3->Cells[i][j]="";
- }
- }
- for(int i=0;i<n;i++)
- {
- res=random(10);
- s.push(res);
- StringGrid1->Cells[i][0]=IntToStr(s.push(res));
- }
- for(int i=0;i<n;i++)
- {set=s.pop();
- if(set%2==0)
- {
- StringGrid2->Cells[i][0]=IntToStr(s.pop());
- }
- else
- {StringGrid3->Cells[i][0]=IntToStr(s.pop());}
- }
- }
- //---------------------------------------------------------------------------
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д