Program nawiązuje a jest praktycznie taki sam jak w tym temacie : https://4programmers.net/Forum/C_i_C++/323420-podprogram_kasujacy_wybrany_element_z_tablicy
Tyle że tutaj dodany kod na końcu zeruje element i wyświetla tablicę a tu chodzi o usunięcie elementu z tablicy i wyświetlenie tablicy o rozmiarze o jeden mniejszy.
Od razu uprzedam nie mogę używać żadnych bibliotek itd i klasy też nie wchodzą w grę.
Mój kod
#include <iostream>
using namespace std;
int* utworz(int*& t, const unsigned n)
{
t = new int[n];
for (unsigned i = 0; i < n; i++) {
t[i] = i;
}
return t;
}
void wyswietl(const int* t, const unsigned n)
{
for (unsigned i = 0; i < n; i++) {
cout << t[i] << "\t";
}
}
int* kasuj_element(const int* t, const unsigned n, int ktory)
{
int* tab = 0;
utworz(tab, n - 1);
for (unsigned i = 0; i < n; i++) {
if (i != ktory) {
tab[i] = t[i];
}
}
return tab;
}
int main()
{
unsigned n, ktory;
int* t = 0;
cout << "Podaj rozmiar tablicy: ";
cin >> n;
utworz(t, n);
wyswietl(t, n);
cout << endl;
cout << "Ktory element usunac?: ";
cin >> ktory;
int* wynik = kasuj_element(t, n, ktory);
wyswietl(wynik, n - 1);
}
Wiem,o usuwaniu tablic dynamicznych ale mi chodzi tylko o funkcję kasującą element na razie.
Napisana przez mnie nie działa prawidłowo.