fork(2) download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. struct tablica
  6. {
  7. int roz;
  8. signed int *tab;
  9. tablica():roz(0),tab(0) {}
  10. void dodaj(int nr,signed int wartosc);
  11. };
  12.  
  13. void tablica::dodaj(int nr,signed int wartosc)
  14. {
  15. signed int *buff=new signed int[roz+1];
  16. memcpy(buff,tab,nr*sizeof(signed int));
  17. buff[nr]=wartosc;
  18. memcpy(buff+nr+1,tab+nr,(roz-nr)*sizeof(signed int));
  19. delete[] tab;
  20. tab=buff;
  21. ++roz;
  22. }
  23.  
  24. int main()
  25. {
  26. tablica T;
  27. T.dodaj(0,3);
  28. for(int i=0;i<T.roz;++i) cout<<T.tab[i]<<' ';
  29. cout<<endl;
  30. T.dodaj(1,5);
  31. T.dodaj(0,1);
  32. for(int i=0;i<T.roz;++i) cout<<T.tab[i]<<' ';
  33. cout<<endl;
  34. T.dodaj(3,6);
  35. T.dodaj(2,4);
  36. T.dodaj(1,2);
  37. T.dodaj(0,0);
  38. for(int i=0;i<T.roz;++i) cout<<T.tab[i]<<' ';
  39. cout<<endl;
  40. return 0;
  41. }
Success #stdin #stdout 0s 3472KB
stdin
stdout
3 
1 3 5 
0 1 2 3 4 5 6