Code:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int getSubArrSize(char niz1[], int i, int j); // vraca velicinu podniza
int main ()
{
int i,j,m;
int result = 1;
int index = -1;
srand ( time(NULL) ); //podesavanje seed-a kod rand() funkcije
int niz[30000];
char nizSlova[30000];
for( i=0;i<30000;i++)
{
niz[i] = rand()%36+1; //pozivanje rand() funkcije ide modul 36 + 1 da bi nam rezultat bio u opsegu od 0 - 36
}
for( i=0;i<30000;i++)
{
printf(" %d ", niz[i]); // stampanje niza brojeva
}
printf("\n");
// pretvaranje niza brojeva u niz slova u zavisnosti od uslova
for( i=0;i<30000;i++)
{
if (niz[i]<=12 && niz[i]>0 )
nizSlova[i] = 'M';
else if (niz[i]>12 && niz[i]<=24)
nizSlova[i] = 'L';
else if (niz[i]>24 && niz[i]<=36)
nizSlova[i] = 'H';
else
nizSlova[i] = '0';
}
for( i=0;i<30000;i++)
{
printf(" %c ", nizSlova[i]); // stampanje niza karaktera
}
printf("\n");
// nalazenje podniza
for( i = 0 , j=1 ; j< 30000; i++ ,j++)
{
if( nizSlova[i] == nizSlova[j])
{
int subArrSize = getSubArrSize(nizSlova, i, j);
if(result < subArrSize)
{
result = subArrSize;
index = i;
}
}
}
printf("Najduzi podniz pocinje na poziciji %d i dugacak je %d karaktera \n", index, result);
puts ("Eto ga! ");
scanf("%d",&m);
return 0;
}
// funkcija koja vraca duzinu najduzeg podniza
int getSubArrSize(char niz1[], int i, int j)
{
int size = 1;
while (i < j)
{
if(niz1[i] == niz1[j])
{ size++;
j++;}
else
return size;
i++;
}
return size;
}
moze li neko da mi izmjeni program tako da umjesto rand funkcije sam ubacujem brojeve?
EDIT: X Files : Molim Vas da zbog preglednosti, kod upisujete između tag-ova predviđenih za to:
[code] ...
[/code]