Mam jeszcze pytanie co do mojego kodu:
#include <iostream> #include <ctime> //srand #include <cstdlib> //rand #include <vector> using namespace std; void sortowanie ( vector <int> &t, int ile) { for ( int j = 0; j < ile; j++) { for ( int i = 0; i < ile; i++) { if ( t[i+1] < t[i] ) swap ( t[i+1], t[i] ); //zamien miejscami } } } void wypisz ( vector <int>& t ) { for ( int k = 0; k <= t.size() ; k++) cout << k <<". "<<t[k] <<endl; } int main () { srand ( time ( NULL ) ); //wysylamy czas systemowy int ile, los; double czas; clock_t start, stop; vector <int> tab; cout << "Przedstawie Wam sortowanie wraz z czasem wykonania. Ile losowych liczb chcesz umiescic w tablicy?"; cin >> ile; start = clock(); for ( int i = 0; i < ile; i++) { los = (rand () % 10000)+1; tab.push_back(los); cout << tab[i]<<endl; } sortowanie ( tab, ile ); wypisz ( tab ); stop = clock(); czas = (double)(stop - start)/CLOCKS_PER_SEC; cout << "Czas: "<<czas; return 0; }
Problem jest taki, że gdy podam ile < 14 to przy wypisywaniu zerowy element tablicy = 0. Za to gdy wprowadziłem do zmiennej ile liczbę wiekszą bądź równą 14 to zerowy element tablicy jest ok. Czemu tak jest?