Witam otóż napisałem program losujący liczby do tablicy,następnie je sortuje bąbelkowo, wypisuje tablice na ekranie konsoli i ma podać ostatnią tablicę gdyż z założenia jest ona posortowana więc ostatnia będzie największa. I tu jest problem, program pokazuję największą liczbę tylko wtedy gdy wyświetlanie posortowanych liczb jest w komentarzach gdy zaś nie jest to wyświetla 0. Prawdopodobnie popełniłem gdzieś głupi błąd, chciałem poćwiczyć wskaźniki i tak to wygląda :D. Za wszelką pomoc dziękuje i pozdrawiam.
#include <iostream>
#include <time.h>
#include <cstdlib>
using namespace std;
int losuj(int *wsk,int jak_duza)//fun losujaca
{
for(int i=0;i<jak_duza;i++)
{
*wsk=rand()%100;
wsk++;
}
}
int sortuj(int *wsk,int jak_duza)//fun sortujaca
{
int schowek;
for(int i=1;i<jak_duza;i++)
{
for(int j=jak_duza-1;j>=1;j--)
{
if(wsk[j-1]>wsk[j])
{
schowek=wsk[j];
wsk[j]=wsk[j-1];
wsk[j-1]=schowek;
}
}
}
}
int main()
{
srand(time(NULL));
clock_t start,stop;
double czas;
int jak_duza;
int *wskaznik;
cout<<"Z ilu cyfr skladac sie ma tablica:";
cin>>jak_duza;
wskaznik=new int[jak_duza];
start=clock();
for(int i=0; i<jak_duza; i++)
{
losuj(wskaznik,jak_duza);//wylosowanie liczb do tablicy
sortuj(wskaznik,jak_duza);//sortowanie tablicy
}
cout<<"Wylosowane i posortowane liczby:\n";
for(int i=0; i<jak_duza; i++)//wypisanie tablicy
{
cout<<"Liczba "<<i+1<<". "<<*wskaznik<<endl;
wskaznik++;
}
cout<<endl;
stop=clock();
czas=double(stop-start)/CLOCKS_PER_SEC;
cout<<"\nCzas:"<<czas<<"s\n";
cout<<"Najwieksza liczba:"<<wskaznik[jak_duza-1];
delete [] wskaznik;
return 0;
}