Mozes na slijedeci nacin: kreirati varijable max1 i max2, te proslijediti njihove adrese funkciji koja ce na njihova mjesta zapisati ta 2 broja. Tako je po meni lakse nego da u funkciji napravis niz od 2 elementa pa da ih vratis iz funkcije...
Evo funkcije:
Code:
void maximum_tabele(int tabela[], int broj_elemenata, int *max_manji, int *max_veci)
{
int i;
if (broj_elemenata > 0)
{
for(i=0; i < broj_elemenata; i++)
{
if(tabela[i] > *max_veci)
{
*max_manji = *max_veci;
*max_veci = tabela[i];
}
else
if(tabela[i] > *max_manji)
{
*max_manji = tabela[i];
}
}
}
}
Par samo savjeta sto se tice preglednosti, posveti malo paznje estetici pisanja koda, preglednosti. Malo sam uredio main() funkciju, ovo je naravno samo moj nacin koji se razlikuje od programera do programera, tako da nista ne uzimas zdravo za gotovo, samo pokusavam pomoci...
Code:
int main(void)
{
int Tabela[DIM];
int i = 0, max = -9, min = 99;
printf("Unesite brojeve : \n");
for(i = 0; i < DIM; i++)
{
printf("\t%d : ", i+1);
scanf("%d", &Tabela[i]);
if(Tabela[i] < -9 || Tabela[i] > 99)
Izlaz("Unesite brojeve od -9 do 99 !");
}
printf("\nTabela ima sledece vrijednosti :\n");
for(i = 0; i < DIM; i++)
printf("%d ", Tabela[i]);
// kreiranje varijabli max1 i max2
int max_manji = -9, max_veci = -9;
//pozivanje funkcije sa adresama
maximum_tabele(&Tabela[0], DIM, &max_manji, &max_veci);
for(i = 0; i < DIM; i++)
if(Tabela[i] < min)
min = Tabela[i];
printf("\nTabela ima sledece vrijednosti :\n");
for(i = 0; i < DIM; i++)
printf("%d ", Tabela[i]);
printf("\n\n\tMax_manji u tabeli je: %d\n", max_manji);
printf("\n\n\tMax_veci u tabeli je: %d\n", max_veci);
printf("\n\n\tMin vrijednost u tabeli je: %d\n", min);
system("pause");
return 0;
}
I da, sto se tice naredbe system("pause"), imas je na kraju main(), ali je nemas na kraju Izlaz(). Ako je vec koristis na kraju main() (ne znam u koje svrhe, osim pauziranja programa na kraju izvrsavanja, jer XP samo zatvori prozor ako nema ono Press any key...), treba ti i na kraju Izlaz():
Code:
void Izlaz(char * poruka)
{
printf("Greska : %s\n", poruka);
system("pause");
exit(0);
}
P.S sve savjete dajem u najboljoj namjeri, ali nisam u zivotu kompajlirao linije koda eksplicitno za C, samo za C++, ipak mislim da bi trebalo da radi :=)