[Rozdział 21] Losowanie bez powtórzeń, praca domowa.
Ostatnio zmodyfikowano 2017-02-06 22:03
thewitcher Temat założony przez niniejszego użytkownika |
[Rozdział 21] Losowanie bez powtórzeń, praca domowa. » 2017-02-06 21:26:56 jestem w trakcie pisania kodu pracy domowej z rozdziału w temacie, ale stanąłem na problemie którego nie mogę rozwiązać, jakby ktoś mógł zerknąć na kod i pomóc mi w zrozumieniu dlaczego program wypisuje inne niż wczytane do tablicy liczby byłbym bardzo wdzięczny, oto kod: #include <iostream> #include <ctime> #include <cstdlib>
using namespace std;
int WpisywanieLiczbDoTablicy( int RozmiarTablicy ) { int Tablica[ RozmiarTablicy ]; int i = 0; do { int a; cout << "Podaj liczbe do wczytania: " << endl; cin >> a; Tablica[ i ] = a; i++; } while( i < RozmiarTablicy ); return Tablica[ RozmiarTablicy ]; } void WypiszZawartoscTablicy( int Tablica[], int Licznik ) { int i = 0; do { cout << Tablica[ i ] << " "; i++; } while( i < Licznik ); }
int main() { int RozmiarTablicy; cout << "Prosze podac rozmiar tablicy: " << endl; cin >> RozmiarTablicy; int Tablica[ RozmiarTablicy ]; Tablica[ RozmiarTablicy ] = WpisywanieLiczbDoTablicy( RozmiarTablicy ); WypiszZawartoscTablicy( Tablica, RozmiarTablicy ); return 0; }
|
|
carlosmay |
» 2017-02-06 21:51:01 return Tablica[ RozmiarTablicy ]; |
Tutaj jest UB. Wyjście poza tablicę. Poza tym próbujesz zwrócić nie tablice, tylko jeden element. cin >> RozmiarTablicy; int Tablica[ RozmiarTablicy ]; |
To jest niezgodne ze standardem C++. Rozmiar tablicy musi być znany w czasie kompilacji i być constexpr . Skorzystaj z std::vector - "dynamicznej tablicy". |
|
thewitcher Temat założony przez niniejszego użytkownika |
» 2017-02-06 21:52:42 czyli nie da się returnem zwrócić tablicy z funkcji? |
|
carlosmay |
» 2017-02-06 21:56:26 czyli nie da się returnem zwrócić tablicy z funkcji? |
Da się, ale wskaźnik. Lokalnej tablicy nie zwrócisz, bo po wyjściu z funkcji ona przestaje istnieć. |
|
thewitcher Temat założony przez niniejszego użytkownika |
» 2017-02-06 22:03:57 ok, dzięki za pomoc :) |
|
« 1 » |