title: dynamic stack , error while compiling , dev compiler and g++
body: <p>This is dynamic stack , and there are some functions from 1 till 6 , and 0 exit , when i choose 6 ,it's shown  this error "Segmentation fault (core dumped)
  " , i have g++ compiler and i'm compiling in it , but when i use codeblocks it works , can anybody help `</p>
  
  <pre><code>#include &lt;stdlib.h&gt;
  #include &lt;iostream&gt;
  using namespace std;
  const int n=100;
  struct Stack{
      int A[n];
      int count;
  };
  //создание стека
  void Creation(Stack *p)
  {
      p-&gt;count=0;
  }
  //проверка стека на пустоту
  int Full(Stack *p)
  {
      if (p-&gt;count==0){
          return 1;
      }
      else if (p-&gt;count==n) {
          return -1;
      }
      else {
          return 0;
      }
  }
  //добавление элемента
  void Add(Stack *p)
  {
      int value;
      cout&lt;&lt;"Введите элемент &gt; "; cin&gt;&gt;value;
      p-&gt;A[p-&gt;count]=value;
      p-&gt;count++;
  }
  //удаление элемента
  void Delete(Stack *p)
  {
      p-&gt;count--;
  }
  //вывод верхнего элемента
  int Top(Stack *p)
  {
      return p-&gt;A[p-&gt;count-1];
  }
  //размер стека
  int Size(Stack *p)
  {
      return p-&gt;count;
  }
  int show(Stack *p){
      int i=0;
      while(i!=p-&gt;count){
          cout&lt;&lt;p-&gt;A[i]&lt;&lt;endl;
          i++;
      }
  }
  
  void transposition(Stack *p){
      int temp,i = 0;
      int a[p-&gt;count];
      int max,min = p-&gt;A[0];
      int max_pos,min_pos;
      while(i!=p-&gt;count){
          a[i] = p-&gt;A[i];
          if(p-&gt;A[i] &gt; max){
              max = p-&gt;A[i];
              max_pos = i;
          }
          i++;
      }
      int j=0;
      while(j!=p-&gt;count){
          if(p-&gt;A[j] &lt; min){
              min = p-&gt;A[j];
              min_pos = j;
          }
          j++;
      }
      temp = p-&gt;A[max_pos];
      p-&gt;A[max_pos] = p-&gt;A[min_pos];
      p-&gt;A[min_pos] = temp;
  
  }
  //главная функция
  int main()
  {
  setlocale(LC_ALL,"Russian");
  Stack s;
  Creation(&amp;s);
  char number;
  do
  {   cout&lt;&lt;"1. Добавить элемент"&lt;&lt;endl;
      cout&lt;&lt;"2. Удалить элемент"&lt;&lt;endl;
      cout&lt;&lt;"3. Вывести верхний элемент"&lt;&lt;endl;
      cout&lt;&lt;"4. Узнать размер стека"&lt;&lt;endl;
      cout&lt;&lt;"5. Вывесьте все элементе стека"&lt;&lt;endl;
      cout&lt;&lt;"6. Перестановка max и min элемента стека"&lt;&lt;endl;
      cout&lt;&lt;"0. Выйти"&lt;&lt;endl;
      cout&lt;&lt;"Номер команды &gt; "; cin&gt;&gt;number;
  switch (number)
  {
      case '1':
          if (Full(&amp;s)==-1){
              cout&lt;&lt;endl&lt;&lt;"Стек заполнен\n\n";
          }
          else{
          Add(&amp;s);
          cout&lt;&lt;endl&lt;&lt;"Элемент добавлен в стек\n\n";
          }
      break;
  //-----------------------------------------------
      case '2':
          if (Full(&amp;s)==1) {
              cout&lt;&lt;endl&lt;&lt;"Стек пуст\n\n";
          }
          else{
          Delete(&amp;s);
          cout&lt;&lt;endl&lt;&lt;"Элемент удален из стека\n\n";
          }
      break;
  //-----------------------------------------------
      case '3':
          if (Full(&amp;s)==1) {
              cout&lt;&lt;endl&lt;&lt;"Стек пуст\n\n";
          }
          else {
              cout&lt;&lt;"\nВерхний элемент: "&lt;&lt;Top(&amp;s)&lt;&lt;"\n\n";
          }
      break;
  //-----------------------------------------------
      case '4':
          if (Full(&amp;s)==1){
              cout&lt;&lt;endl&lt;&lt;"Стек пуст\n\n";
          }
          else{
              cout&lt;&lt;"\nРазмер стека: "&lt;&lt;Size(&amp;s)&lt;&lt;"\n\n";
          }
      break;
  //-----------------------------------------------
      case '5':
          if (Full(&amp;s)==1){
              cout&lt;&lt;endl&lt;&lt;"Стек пуст\n\n";
              }
          else{
                  show(&amp;s);
              }
      break;
  //-----------------------------------------------
      case '6':
          if (Full(&amp;s)==1){
              cout&lt;&lt;endl&lt;&lt;"Стек пуст\n\n";
              }
          else {
                  transposition(&amp;s);
              }
      break;
  //-----------------------------------------------
  case '0': break;
      default:
          cout&lt;&lt;endl&lt;&lt;"Команда не определена\n\n";
      break;
  }
  } while(number!='0');
      system("pause");
  }
  </code></pre>
  
  <p>`</p>