• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja minimum z tablicy wskaźniki C++

Cloud VPS
0 głosów
834 wizyt
pytanie zadane 25 grudnia 2020 w C i C++ przez dark41 Użytkownik (760 p.)

witam

mam napisać:

funkcja uogólnionej minimum_z_tablicy. informacje o początku i rozmiarze tablicy przekazuj za pomocą 2 wskaźników pokazujących na pierwszy element w tablicy oraz miejsce tuz za końcem tablicy

int tab [10];

tab[0] =7           tab[1]=33 ..............

int m = minimum_z_tablicy(tab , tab + 10)

 

Są święta i mam ograniczony kontakt z wykładowcą a nie rozumiem po co w argumentach podawać wskaźniki

jest jakaś funkcja wyciągająca minimum z tablicy z pomocą wskaźników, normalnie zrobiłbym tak ale bez wskaźników

int min = int tab[0]

for (int i =0; int <10; int++){

int min = min > tab[i]

}

 

2 odpowiedzi

0 głosów
odpowiedź 25 grudnia 2020 przez forvev Początkujący (390 p.)
Nie lepiej przekazać całą tablice do funkcji za pomocą argumentu "tab" i wtedy szukać w niej minimum? Bo ten zapis "tab+10" wydaje się być zbędny, gdyż za pomocą tego pierwszego argumentu przekażesz co trzeba( tylko musisz odpowiednio zapisac tą tablice jako wskaźnik).
komentarz 26 grudnia 2020 przez j23 Mędrzec (195,240 p.)

Nie lepiej przekazać całą tablice do funkcji za pomocą argumentu "tab" i wtedy szukać w niej minimum?

A skąd będziesz wiedzieć, jak duża jest ta tablica? Masz dwie opcje: przekazać dodatkowy parametr określający wielkość tablicy lub  przekazać wskaźnik na koniec zbioru.

komentarz 26 grudnia 2020 przez forvev Początkujący (390 p.)
Będę wiedział, bo zadeklarował sobie tablice o rozmiarze 10, a więc w argumencie dajemy początkowy adres komórki(ja w tym przykładzie tab), a wewnątrz funkcji działamy na zasadzie wskaźnik-przesunięcie.
komentarz 26 grudnia 2020 przez j23 Mędrzec (195,240 p.)
Podejrzewam, że wartość 10 to tylko przykład, a funkcja powinna być w stanie obsłużyć różnej wielkości tablice.
komentarz 26 grudnia 2020 przez forvev Początkujący (390 p.)
To w takim przypadku dynamiczne alokowanie pamięci, co wydaje mi się lepszym i wydajniejszym sposobem na zajmowanie szufladek w pamięci. Chyba, że są lepsze i wydajniejsze sposoby, o których jeszcze nie wiem;)
komentarz 26 grudnia 2020 przez j23 Mędrzec (195,240 p.)
Nie wiem, co tu ma dynamicznie alokowana pamięć do rzeczy. OP ma napisać funkcję szukającą wartości minimalnej w jakimś zbiorze liczb określonego dwoma wskaźnikami wskazującymi na jego początek i koniec. I tyle. A jaki typ pamięci zastosujesz jest tutaj bez znaczenia.
–1 głos
odpowiedź 25 grudnia 2020 przez TOWaD Mądrala (6,500 p.)
edycja 25 grudnia 2020 przez TOWaD
struct tablicaint {

tablica (const size_t size){
ptrbegin = new int [size+1];
ptrend = ptrbegin+size;
}
int operator [] ..... //edit
void sort () ...... //edit
int ptrbegin*{nullptr};
int ptrend*(nullptr};
~tablica(){
ptrend=nullptr;
delete ptrbegin;
ptrbegin=nullptr;
}
}

pewnie oto coś takiego (nie wiem czy kod do końca poprawny bo nie kompilowałem)chodzi bardzo użyteczne choć std::set jest znacznie lepszy

edit :: operatory w opusieMagnum lub cpp0x.pl

komentarz 26 grudnia 2020 przez j23 Mędrzec (195,240 p.)
Co? Nie pomyliłeś wątków?
komentarz 26 grudnia 2020 przez TOWaD Mądrala (6,500 p.)

po prostu nie wiedziałem jak inaczej wskazać 1miejsce za końcem tablicy, na logikę to miejsce już  nie należy do tablicy. Ale doba po prostu nie wiem.

Podobne pytania

0 głosów
1 odpowiedź 1,394 wizyt
0 głosów
2 odpowiedzi 1,115 wizyt
pytanie zadane 24 sierpnia 2018 w C i C++ przez Hrabia_ Nowicjusz (120 p.)
0 głosów
1 odpowiedź 875 wizyt
pytanie zadane 25 października 2016 w C i C++ przez victordeleco2 Użytkownik (920 p.)

93,469 zapytań

142,404 odpowiedzi

322,716 komentarzy

62,852 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...