Do działania programów wymagane są pliki czas (skrypt Basha), dane0 (pobierz) i dane1 (pobierz). Sprawdzanie czasu wykonania następuje poprzez:
./czas twoj_program dane0 plik_z_wynikami
Sprawdzanie inwersji
main()
{
int i,inv;
float x,xprev;
/* program sprawdza czy kolejna podana liczba jest wieksza od poprzedniej */
inv = 0;
x = 0;
xprev = 0;
scanf("%f",&x);
for (i=1; i<100000; i++) // 99 999
{
xprev = x;
scanf("%f",&x);
inv = (xprev > x) ? inv+1 : inv;
}
printf("Znaleziono %i inwersji\n",inv);
}
Sortowanie liczb (bąbelkowe, poprzez szukanie)
main ()
{
/* sortowanie liczb w tablicy od najm. do najw */
int i,j,k;
float x,a[100000];
for (i = 0; i < 100000; i++)
{
scanf("%f",&a[i]);
}
for (i=100000; i>0; i--)
{
k=0;
for (j=0; j<i; j++)
{
if ( a[k]<a[j] )
{
k=j;
}
}
x = a[k];
a[k] = a[i-1];
a[i-1]=x;
}
for (i = 0; i < 100000; i++)
{
printf("%f\n",a[i]);
}
}
Sortowanie 2 (szukanie pierwszej niepasującej liczby i wstawianie jej na prawidłowe miejsce).
main()
{
int n,i;
float x,a[100000];
for(i=0;i<100000;i++)
scanf("%f",&a[i]);
for(n=0;n<100000;n++)
{
if(a[n]>a[n+1])
{
i=n+1;
while(a[i]<a[i-1])
{
x=a[i];
a[i]=a[i-1];
a[i-1]=x;
i--;
}
}
}
for(i=0;i<100000;i++)
printf("%f\n",a[i]);
}
#!/bin/bash POCZsek="$(date +%s)" POCZnano="$(date +%N)" $PWD/$1 <$2 >$3 KONsek="$(date +%s)" KONnano="$(date +%N)" echo; echo "CZAS WYKONANIA PROGRAMU $1:" if [ $POCZnano -le $KONnano ] then echo "$(($KONsek - $POCZsek)).$(($KONnano - $POCZnano)) sek." else echo "$(($KONsek - $POCZsek - 1)).$(($KONnano + 1000000000 - $POCZnano)) sek." fi echo
.