[ negative7 @ 25.02.2009. 11:26 ] @
pronaci element u tablici koji je barem duplo manji od bilo kojeg drugog elementa u tablici a ako ne postoji program se prekida.

Program sam uradio i on radi 100% tacno
Code:

#include <stdio.h>

void main()
{
    int mat[3][4] = { 
                    {9,7,4,5},
                    {4,5,2,7},
                    {4,6,7,8}
                  };

    int i, j, k, m,min;
    int ind = 1;

    min = mat[0][0];

    for(i=0; i < 3; i++)
    {
        for(j=0; j < 4; j++)
        {
            if(min > mat[i][j])
            {
                min = mat[i][j];
                k = i;
                m = j;
            }
        }    
    }
    
    //Nasli smo minimum

    for(i=0; i < 3; i++)
    {
        for(j=0; j < 4; j++)
        {
            if(min == mat[i][j])
            {
                if((k != i) && (j != m))
                {
                    // Postoji još barem jedan najmanji.
                    ind = 0;
                    break;
                }
            }
            else if(min*min > mat[i][j])  //E ovo mi stvara problem,zasto program ne radi ako stavim samo if
            {
                ind = 0;
                break;
            }
        }

        if(ind == 0)
        {
            break;
        }
    }

    if(ind)
    {
        printf("Pronadjen je najmanji. on je %d i nalazi se u %d redu i %d stupcu\n", min, k+1, m+1);
    }
}


Znaci tu gore gdje sam stavio if else,zasto ne moze ako stoji samo if.Kad stoji if else to je od ovog gornjeg if(min==mat[ i ][j]) i on se tek izvrsava samo ako if(min==mat[ i ][j]) nije zadovoljen,zar ne?

Dali moze netko objasnit tijek izvodjena programa ako je umjesto if else samo if.Naravno tijek izvodjena nakon ovog pronadjenog minimuma.

ako stoji if umjesto if else (na mjestu drugog uvjeta tj. ovo if(min*min>mat[ i ][j])onda program provjerA vazda oba uvjeta zar ne?i ako je u prvom uvjetu if(min==mat[ i ][j]) postavio ind=0;
sta onda kad dodje na drugi ovjet tj(min*min>mat[ i ][j]).Jeli ako ovaj drugi nije zadovoljen ind se vraca na 1 iako je bilo ind=0 zbrog ovog prvog uvjeta.


kad sam prico o uvjetima ovaj uvjet if(k!=i i i!=m) sam zanemario tj. pikao sam ga zajedno sa uvjetom if(min==mat[ i ][j]) kao jedan uvjet

[Ovu poruku je menjao X Files dana 25.02.2009. u 12:46 GMT+1]
[ negative7 @ 25.02.2009. 11:31 ] @
ovo gdje god vidite mat[j] treba biti mat[i ][j ], ne znam zasto mi tako prikaziva