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?