/*
 * Wprowadzenie danych do dynamicznej tablicy. Program prosi o podanie ciągu
 * liczb który użytkownik kończy średnikiem. W trakcie wprowadzenia gromadzi
 * liczby w dynamicznej tablice.
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 */
#include <iostream>
#include <limits>

using namespace std;
//w starszych kompilatorach trzeba zakomentowa ć ten wiersz

void 
Drukuj(const double *T, unsigned N)
{
  unsigned        i = 0;
  for (const double *K = T + N; T < K; ++T)
    cout << "T[" << (i++) << "]=" << *T << ';' << endl;
}

int 
main()
{
  while (true)
  {
    unsigned        Ilosc = 0;
    double         *T = 0;
    while (true)
    {
      cout << "Podaj liczbe nr " << (Ilosc + 1) << " (;-koniec): ";
      double          X;
      cin >> X;
      if (cin)
      {
	double         *N = new double[Ilosc + 1];
	if (T)
	{
	  memcpy(N, T, Ilosc * sizeof(double));
	  delete[] T;
	}
	T = N;
	N[Ilosc++] = X;
      } else
      {
	cin.clear();
	if (cin.get() == ';')
	  break;
	cout << "Blad wprowadzania" << endl;
      }
      cin.ignore(INT_MAX, '\n');
    }
    if (!Ilosc)
      break;
    cout << endl;
    Drukuj(T, Ilosc);
    delete[] T;
    cout << endl;
  }
  return 0;
}
