ід сортовані Структури запісує у файл.
# include lt; iostream gt;
# include lt; string gt;
# include lt; fstream gt;
# include lt; sstream gt;
# include windows. h namespace std; struct
{name; type;
} port; struct
{producer; category; portcount; priority, price; * ports;
} product; tofile (ofstream amp; fout, product p)
{ lt; lt; p. category lt; lt; endl; lt; lt; p. producer lt; lt; endl; lt; lt; p. priority lt; lt; endl; lt; lt; p. price lt; lt; endl; lt; lt; p. portcount lt; lt; endl; (int i=0; i lt; p. portcount; i ++)
{ lt; lt; p. ports [i]. name lt; lt; endl; lt; lt; p. ports [i]. type lt; lt; endl;
}
} printout (product amp; p)
{ lt; lt; p. category lt; lt; endl; lt; lt; p. producer lt; lt; endl; lt; lt; p. priority lt; lt; endl; lt; lt; p. price lt; lt; endl; lt; lt; p. portcount lt; lt; endl; (int i=0; i lt; p. portcount; i ++)
{ lt; lt; p. ports [i]. name lt; lt; endl; lt; lt; p. ports [i]. type lt; lt; endl;
} lt; lt; endl;
} * fromfile (ifstream amp; fin, int amp; n)
{k=0; p; (! fin. eof ())
{(fin, p. category); (fin, p. producer); gt; gt; p. priority; gt; gt; p. price; gt; gt; p. portcount ;. get (); (int i=0; i lt; p. portcount; i ++)
{(fin, p. producer); (fin, p. producer);
}. get (); ++;
}=k; * A=new product [n];=0 ;. clear () ;. seekg (0); (! fin. eof ())
{(fin, p. category); (fin, p. producer); gt; gt; p. priority; gt; gt; p. price; gt; gt; p. portcount ;. get () ;. ports=new port [p. portcount]; (int i=0; i lt; p. portcount; i ++)
{(fin, p. ports [i]. name); (fin, p. ports [i]. type);
}. get (); [k]=p; ++;
} A;
} main ()
{(1251); (1251); n, a, b; * A; fin ( input. txt );=fromfile (fin, n); (int i=0; i lt; n; i ++)
{:: stringstream out; lt; lt; i; s=out. str ();= product + s + laquo ;. txt raquo ;; fout (s); (fout, A [i]) ;. close ();
} lt; lt; Сортувати за ціною введіть 0, за пріорітітем введіть інше ціле число raquo ;; gt; gt; a; (a!=0)
{for (int j=0; j lt; n - 1; j ++)
{(int i=0; i lt; n - 1; i ++) (A [i]. priority gt; A [i + 1]. priority) {product p=A [i]; A [i]=A [i + 1]; A [i + 1]=p; }
}
}
{for (int j=0; j lt; n - 1; j ++)
{(int i=0; i lt; n - 1; i ++) (A [i]. price gt; A [i + 1]. price) {product p=A [i]; A [i]=A [i + 1]; A [i + 1]=p; }
}
}; lt; lt; Сортувати за Категорією введіть 0, за Виробнику введіть інше ціле число raquo ;; gt; gt; b; (b == 0)
{for (int j=0; j lt; n - 1; j ++)
{(int i=0; i lt; n - 1; i ++) (A [i]. category gt; A [i + 1]. category) {product p=A [i]; A [i]=A [i + 1]; A [i + 1]=p; }
}
}
{for (int j=0; j lt; n - 1; j ++)
{(int i=0; i lt; n - 1; i ++) (A [i]. producer gt; A [i + 1]. producer) {product p=A [i]; A [i]=A [i + 1]; A [i + 1]=p; }
}
}; fout ( sorteddata. txt ); (int i=0; i lt; n; i ++)
{(fout, A [i]); (i!=n - 1) fout lt; lt; endl; (A [i]);
}. close () ;. get () ;. get () ;. close (); 0;
}
7. Програма, яка помощью класу працює зі стеком, додає елемент у стек, забирає елемент зі стеку, додає вектор у стек, відаляє усі елементи зі стеку, перевіряє чи стік не порожній.
struct list
{val; list * next;
}; Stack
{: list * item;: ();
~ Stack (); isempty (); pop (); push (int); delall (); pushvect (int *, int);
};
# include lt; iostream gt;
# include classheader. h :: Stack ()
{= new list;=NULL; :: cout lt; lt; стек Створено n raquo ;;
...