43. Wskaźniki - Zadanie domowe
Ostatnio zmodyfikowano 2018-08-05 15:07
Kietlon Temat założony przez niniejszego użytkownika |
43. Wskaźniki - Zadanie domowe » 2018-01-25 02:48:31 Treść zadania jest następująca: Napisz funkcję void sortuj(int* begin, int* end), która dowolną metodą sortuje liczby w tablicy, podanej przez wskaźnik na pierwszy element i element za końcem tablicy. Weź funkcję wypisz() z przykładu i użyj tego main(): Oto mój kod wraz z elementami z treści zadania: #include <iostream>
void sortuj( int * begin, int * end ) { while( begin != end ) { if( * begin > * begin + 1 ) break; begin++; } }
void wypisz( int * begin, int size ) { while( size > 0 ) { std::cout << * begin << ' '; ++begin; --size; } }
int main() { int tab[ 10 ] = { 0, 9, 1, 3, 8, 2, 6, 7, 5, 4 }; sortuj( tab, tab + 10 ); wypisz( tab, 10 ); }
Próbowałem na różne sposoby przesortować tablice, jednak nie doszedłem do prawidłowego rozwiązania. Znalazłem rozwiązania w internecie z metodą swap, ale wiem, że skoro to zadanie domowe jest w tym kursie to wystarczy wiedza właśnie z niego. |
|
YooSy |
» 2018-01-25 05:45:06 if( * begin > * begin + 1 ) |
tutaj operator * ma wyższy priorytet niż +. Zastosuj nawiasy do ustalenia kolejności działań. Pokaż kod sortowania. Znalazłem rozwiązania w internecie z metodą swap, ale wiem, że skoro to zadanie domowe jest w tym kursie to wystarczy wiedza właśnie z niego. |
Rozwijanie się na własną rękę nie jest zabronione. W zasadzie najlepiej mają "leniwi" programiści. Jaki problem napisać własną funkcję void swap(int* l, int* r);? |
|
pekfos |
» 2018-01-25 12:58:57 Najprościej zaimplementować sortowanie przez wybór. Zamień pierwszy element zakresu z najmniejszym elementem. Napisz sobie do tego funkcję pomocniczą int * min_elem( int * begin, int * end )
|
|
Rafał19 |
» 2018-08-05 15:07:31 << removed by pekfos - przeczytaj zasady zakładania tematów, załóż własny temat >> |
|
« 1 » |