Zadatak 1.
#include <stdio.h>
#include <math.h>
int mesto(long n,long m)
{
long k = 0,ind = 0, raz, i=1,d=0;
raz = abs(m-n); ind = 0;
while(i<=n)
{
d++;
k = abs(m-((n/i)+(n%i)));
if(k < raz)
{
raz = k;
ind = d;
}
i *= 10;
}
return (d - ind + 1);
}
void main()
{
long n,m;
printf("Unesi n i m : ");
scanf("%ld%ld",&n,&m);
printf("Mesto razdvajanja : %d\n",mesto(n,m));
}
Zadatak 2.
#include <stdio.h>
typedef struct
{
int mat[3][3];
int n,m;
} TMatrica;
TMatrica matrice[20];
int moze(TMatrica a, TMatrica gl)
{
int i,j,r,x,y;
for(x=0;x<=gl.n-a.n;x++)
for(y=0;y<=gl.m-a.m;y++)
{
r = 1;
for(i=0;r&&(i<a.n);i++)
for(j=0;r&&(j<a.m);j++)
if((a.mat[i][j]==1)&&(gl.mat[x+i][y+j]==1)) r = 0;
if(r) return r;
}
return 0;
}
void unos(TMatrica *a,char *poruka)
{
int i,j;
printf("Unesi dimenzije %s matrice : ",poruka);
scanf("%d%d",&(a->n),&(a->m));
printf("Unesi elemente matrice :\n");
for(i=0; i < a->n ;i++)
for(j=0;j < a->m;j++)
scanf("%d",&a->mat[i][j]);
}
void main()
{
TMatrica glavna;
int i,b=0,br=0;
unos(&glavna,"glavne");
printf("Unesi broj ostalih matrica : "); scanf("%d",&br);
for(i=0;i<br;i++)
{
unos(&matrice[i],"");
b += moze(matrice[i],glavna);
}
printf("Broj trazenih matrica : %d\n",b);
}
Zadatak 3.
(define (resi l n)
(if (null? l) 0
(+ (treba l n) (dalje l n))
)
)
(define (brel l)
(if (null? l) 0
(+ 1 (brel (cdr l)))
)
)
(define (treba l n)
(if (> (brel l) n) 1 0)
)
(define (dalje l n)
(cond ((null? l) 0)
((atom? (car l)) (dalje (cdr l) n))
(t (+ (treba (car l) n) (dalje (cdr l) n)))
)
)
Zadatak 4.
formiraj(L,R) :- sd(L,S,N), N1 is N-1, form(L,S,N1,R).
sd([],0,0).
sd([G|R],S,N) :- sd(R,S1,N1), S is S1 + G, N is N1 + 1.
form([],_,_,[]).
form([A|R1],S,N,[B|R2]) :- form(R1,S,N,R2), B is (S-A)/N.