Pomoc w zrozumieniu treści zadania

0

Witajcie! Mam problem w zrozumieniu treści zadania:

Napisać i przetestować w programie własne funkcje:

a) void erase(int* a, int index, int max) usuwającą z tablicy a element na pozycji index, przesuwając pozostałe elementy odpowiednio w lewo. Ilość pamięci zarezerwowana dla tablicy pierwotnej a jest ograniczona przez max.
b) void insert(int* a, int max, int index, int key) wstawiającą do tablicy a, na pozycji index element o wartości key, przesuwając pozostałe elementy odpowiednio w prawo. Ilość pamięci zarezerwowana dla tablicy a jest ograniczona przez max.

Czyli mam przykładowo w main stworzyć sobie tablicę i wypełnić ją przykładowymi liczbami?
Czy int* a to wskaźnik który wskazuje na wyraz zerowy tablicy na której będzie działać funkcja?
Czy jeśli mam przypuśćmy tablicę rozmiaru 20 i jej wartości ponumerowane od 0 do 19, to czy po usunięciu wyraz o numerze 19 będzie miał wartość 0 czy null czy w ogóle ma go nie być?

Z góry dziękuję za każdą podpowiedź! :)

0
  1. Tak, stwórz tablicę i ją wypełnij, dla przetestowania.
  2. Mniej-więcej dobrze. *a to wskaźnik na pierwszy element tablicy (no, wyraz, jeśli wolisz, choć nie pamiętam, czy się z takim określeniem spotkałem) - który to pierwszy element ma indeks 0. A wskaźnik na pierwszy element tablicy = wskaźnik na tablicę (tak to ogólnie działa).
  3. Funkcja erase - tu bym się dwa razy zastanowił, pewien nie jestem. Najprawdopodobniej chodzi o to, że elementu ma nie być (wielkość tablicy z max zmniejsza się na max - 1).
  4. Funkcja insert - też bym się zastanowił, ponieważ widzę tu niedoprecyzowanie. Nie wiem, czy max jest ilością pamięci zarezerwowaną dla tablicy przed wstawieniem, czy po wstawieniu.
0

Dzięki :) już jest lepiej.

a jeśli mam zadanie następne

Napisać i przetestować w programie własne funkcje:
a) void fill(int* a[], int dim1, int dim2) wypełniającą daną tablicę dwuwymiarową a (dim1 x dim2) liczbami całkowitymi wprowadzonymi z konsoli przez użytkownika,

to czy "int* a" z poprzedniego zadania różni się od "int* a[]" z tego?

0

EDIT: Tak, różni się, ponieważ int * a[] jest to wskaźnik na pierwszy element tablicy, który wskazuje na pierwszy element kolejnej tablicy (czyli razem to tablica dwuwymiarowa). A tam był wskaźnik na pierwszy element tablicy, który wskazywał po prostu na jakąś wartość.

1 użytkowników online, w tym zalogowanych: 0, gości: 1