Witam! Mając początkową "strukturę" kodu, który wygląda tak:
#include <iostream>
using namespace std;
void insert()
{
}
void choose()
{
}
void remove()
{
}
void resize()
{
}
int main()
{
int roz;
cout << "Enter a number of cells:";
cin >> roz;
int *tab;
tab = new int[roz];
for (int i=0;i<roz;i++)
{
cin >> tab[i];
}
for (int i=0;i<roz;i++)
{
cout << tab[i] << endl;
}
int wybor;
do
{
cout << "1: insert 1 cell to the end" << endl;
cout << "2: choose a cell and insert 1 cell after it" << endl;
cout << "3: remove the first cell" << endl;
cout << "4: resize the table" << endl;
cout << "5: quit" << endl;
cin.clear();
cin.sync();
cin >> wybor;
} while(wybor!=1 && wybor !=2 && wybor !=3 && wybor !=4 && wybor !=5);
switch (wybor)
{
case 1:
insert();
break;
case 2:
choose();
break;
case 3:
remove();
break;
case 4:
resize();
break;
case 5:
break;
}
return 0;
}
Mam za zadanie teraz po kolei uzupełniać funkcje. Wymagania odnośnie pierwszej z nich:
Działanie funkcji insert():
- Zwiekszenie tablicy o 1 komorke
- Wstawienie ostatniej (nowej liczby) z numerem jej komorki
Wymagania: Tablice tworz dynamicznie operatorem new, usuwaj operatorem delete
Funkcja insert() ma być bezargumentowa i ma niczego nie zwracać.
No i właśnie - skoro funkcja ma być bezargumentowa, to w jaki sposób utworzyć w funkcji nową tablicę o rozmiarze starej tablicy+1, nie przekazując do funkcji informacji o rozmiarze tablicy wejściowej? Chyba, że źle rozumiem pojęcie "bezargumentowa"?
Z góry przepraszam jeżeli to blachy problem, ale jestem początkujący w tym temacie