Professional Documents
Culture Documents
void main() {
int i, brojac=0, a, *pbr, *pa;
pbr = &brojac;
pa = &a;
if (*pa == 1)
printf("\nBroj jedan nije definisan");
else
if (*pbr == 0)
printf("\nBroj je prost!");
else
printf("\nBroj nije prost");
return;
}
void main() {
int a, b, c, max, *pa, *pb, *pc, *pmax;
pa = &a;
pb = &b;
pc = &c;
pmax = &max;
return;
}
3.Upisati 10 brojeva. Ispisati koliko je upisano parnih brojeva djeljivih s 5, a koliko neparnih
djeljivih s 3 koristeći pointere!
#include <stdio.h>
void main() {
int i, br, parnih=0, neparnih=0, *pbr, *pparn, *pnepar;
pbr = &br;
pparn = &parnih;
pnepar = &neparnih;
return;
}
4.Učitati string koji sadrži manje od 50 karaktera i sva mala slova u tom stringu konvertovati u
velika, a ostale karaktere ne mijenjati.
#include<stdio.h>
int main()
{
char niz[50];
int i=0;
puts("Unesi neku rijec");
gets(niz);
while(niz[i]!='\0')
{
if (niz[i]>='a'&&niz[i]<='z')
niz[i]+='A'-'a';
i++;
}
printf("Izmijenjeni string je: %s",niz);
}
5.Učitati evidenciju o nekoliko lica (ime, dužine manje od 15 karaktera, i ulog), a zatim štampati
imena svih onih koji imaju ulog veći od prosječnog.
#include<stdio.h>
int main()
{
char imena[20][15];
float ulog[20],prosjek=0.0;
int i,a;
printf("Ucitaj broj imena: ");
scanf("%d",&a);
printf("Ucitaj imena lica i njihov ulog: ");
for(i=0;i<a;i++)
{
scanf("%s%f",imena[i],&ulog[i]);
prosjek+=ulog[i];
}
prosjek/=a;
puts("Ulog veci od prosjeka imaju:");
for(i=0;i<a;i++)
if(ulog[i]>prosjek)
printf("%s\t\t%6.2f\n",imena[i],ulog[i]);
}
6.Napisati program koji za unijeti prirodni broj računa sumu i proizvod svih prirodnih brojeva
koji su manji od ili jednaki tom broju.
#include<stdio.h>
int main()
{
int a,i=1,sum=0;
long int prod=1;
puts("Unesi neki prirodni broj");
scanf("%d",&a);
while(i<=a)
{
sum+=i;
prod*=i;
i++;
}
printf("Suma prirodnih brojeva do broja %d je: %d\n",a,sum);
printf("Proizvod prirodnih brojeva do broja %d je: %ld\n",a,prod);
}
int main()
{
int i,N,x[50];
float mean=0.0;
printf("Unesi broj clanova niza\n");
scanf("%d",&N);
printf("Unesi clanove niza\n");
for(i=0;i<N;i++)
scanf("%d",x+i);
for(i=0;i<N;i++)
mean+=(float)x[i]/N;
printf("Srednja vrijednost niza je: \t %f \n",mean);
}
8.Napisati program koji provjerava da li je učitani prirodan broj N Hamming-ov broj. Prirodan
broj je Hamming-ov ukoliko su mu jedini prosti činioci 2, 3 ili 5.
#include<stdio.h>
int main()
{
int N;
printf("Unijeti prirodan broj: ");
scanf("%d",&N);
while(N%2==0)
N/=2;
while(N%3==0)
N/=3;
while(N%5==0)
N/=5;
if(N==1)
printf("Broj je Hamming-ov");
else
printf("Broj nije Hamming-ov");
}
9.Napisati program koji će za unesen prirodan broj štampati sve proste brojeve koji su manji od
zadatog broja. Program treba da sadrži funkciju koja određuje da li je broj, koji joj se prosljeđuje
kao argument, prost.
#include<stdio.h>
int prost(int);
int main()
{
int i,n;
printf("Unesi broj:\n");
scanf("%d",&n);
printf("Prosti brojevi su:\n");
for(i=1;i<n;i++)
if(prost(i))
printf("%d ",i);
printf("\n");
}
int prost(int n)
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
10.Napisati funkciju koja broji koliko se početnih karaktera dva stringa, koji su joj argumenti,
poklapa.
#include<stdio.h>
11.Napisati program kojim se unosi niz cijelih brojeva, od maksimalno 20 elemenata, i racuna i
stampa njegov maksimalni i minimalni element.
#include<stdio.h>
int main()
{
int a[20],min,max,i,N;
printf("Unesi broj clanova niza\n");
scanf("%d",&N);
printf("Unesi clanove niza\n");
for(i=0;i<N;i++)
scanf("%d",a+i);
max=min=a[0];
for(i=1;i<N;i++)
if(a[i]>max)
max=a[i];
else if(a[i]<min)
min=a[i];
printf("Minimum niza je: %d\nMaksimum niza je: %d ",min,max);
}
12.Napisati program koji formira podniz niza cijelih brojeva koji se sastoji od onih elemenata
koji su veći od zadatog cijelog broja.
#include<stdio.h>
#define MAX 20
int main()
{
int N,k=0,i,a[MAX],b[MAX],C;
printf("Unesi broj clanova niza: ");
scanf("%d",&N);
printf("Unesi cijeli broj: ");
scanf("%d",&C);
printf("Unesi clanove niza: ");
for(i=0;i<N;i++)
{
scanf("%d",a+i);
if(a[i]>C)
b[k++]=a[i];
}
if(k>0)
{
printf("Elementi niza veci od datog cijelog broja su:\n");
for(i=0;i<k;i++)
printf("%d ",b[i]);
}
}
13.Učitava se nekoliko riječi, pri čemu je dužina riječi manja od 11 karaktera, a zatim se štampa
koliko ima tu različitih riječi.
#include<stdio.h>
#include<string.h>
int main()
{
char rijeci[20][11];
int i,j,brRijeci,razl=0,uslov;
printf("Koliko rijeci zelite da unesete?\n");
scanf("%d",&brRijeci);
for(i=0;i<brRijeci;i++)
scanf("%s",rijeci[i]);
for(i=0;i<brRijeci-1;i++)
{
uslov=1;
for(j=i+1;j<brRijeci;j++)
if(strcmp(rijeci[i],rijeci[j])==0)
uslov=0;
razl+=uslov;
}
printf("Ima %d razlicitih rijeci",razl);
}
15.Napisati program koji za unijeti prirodni broj računa i štampa zbir njegovih cifara.
#include<stdio.h>
int main()
{
int s=0,N;
printf("Unesi prirodan broj\n");
scanf("%d",&N);
while(N!=0)
{
s+=N%10;
N/=10;
}
printf("Suma cifara prirodnog broja je: %d\n",s>0?s:-s);
}
16. Upisati ime i prezime te opšti uspjeh učenika. Nakon toga ispisati upisane podatke.
#include <stdio.h>
void main()
{
struct ucenik
{
char ime[20];
char prezime[20];
int uspjeh;
} uc;
17. Upisati ime, prezime te opšti uspjeh za 2 učenika. Ispisati ime i prezime učenika koji ima
bolji uspjeh.
#include <stdio.h>
void main()
{
struct ucenik
{
char ime[20];
char prezime[20];
int uspjeh;
} uc1, uc2;
return;
}
18. Upisati vrijednost dvije varijable i sabrati ih. Ispisati vrijednost varijabli i njihovog zbira te
vrijednosti adresa svih korištenih varijabli.
#include <stdio.h>
void main() {
int a, b, c, *pa, *pb, *pc;
pa = &a;
pb = &b;
pc = &c;
return;
}
void main() {
int i, brojac=0, a, *pbr, *pa;
pbr = &brojac;
pa = &a;
if (*pa == 1)
printf("\nBroj jedan nije definiran");
else
if (*pbr == 0)
printf("\nBroj je prost!");
else
printf("\nBroj nije prost");
return;
}
20. Učitati tri broja. U funkciji pronaći i ispisati najveći od ta tri broja.
#include <stdio.h>
return;
}
void main() {
int a, b, c, m;
maksimum(a,b,c);
return;
}
21. Učitati 5 znakova. Za svaki znak u funkciji ispisati njegov ASCII kod.
#include <stdio.h>
void ascii(char x) {
int asc;
asc = x;
return;
}
void main() {
int i;
char znak;
ascii(znak);
}
return;
}
void main() {
char a[100], *pa;
int i;
pa = &a[0];
i = 0;
return;
}
23. Učitati rečenicu maksimalne duzine 100 znakova. Ispisati koliko se puta pojavilo veliko slovo
u rečenici.
#include <stdio.h>
#include <string.h>
void main() {
char a[100], *pa;
int i, n, velika=0;
pa = &a[0];
return;
}
void main() {
char rec[200];
int i, n, brojac = 0, log = 0;
return;
}
25. Učitati riječ. Ako je prvo slovo riječi veliko ili malo slovo 's' ispisati riječ s razmacima između
slova, u suprotnom ispisati svako slovo u novi red.
#include <stdio.h>
#include <string.h>
void main(){
char r[100];
int i, n;
printf("\nUčitaj riječ:");
scanf("%s", &r[0]);
n=strlen(r);
return;
}
26. Učitati 8 znakova u polje, jedan po jedan. Koliko je među učitanim znakovima znakova
brojeva ('0' do '9').
#include <stdio.h>
void main() {
char r[8];
int i, brojac=0;
void main() {
int a[10], i, zbir = 0, *pa;
pa = &a[0];
for (i = 0; i < 10; i++) {
printf("\nUčitaj %d broj", i + 1);
scanf("%d", pa + i);
}
for (i = 0; i < 10; i++) {
if (*(pa + i) % 2 == 0)
zbir += *(pa + i);
}
printf("\Zbir parnih brojeva je %d", zbir);
return;
}
int main ()
{
int i=8;
do
{
printf("%d\n", i);
i--;
}while (i>=3);
return 0;
}
29. Napisati program koji ispisuje u prvom redu jedno ime a zatim u svakom narednom po
jedno ime više.
#include <stdio.h>
int main()
{
int i, j;
i = 1;
do {
j = 1;
do {
if (j <= i)
printf("IME ");
j++;
} while (j <= 3);
printf("\n");
i++;
} while (i <= 3);
return 0;
}
30. Napisati program za ispis dvostruke vrijednosti prvih n prirodnih brojeva.
#include <stdio.h>
int main ()
{
int i=1, n;
printf("Do broja: ");
scanf("%d", &n);
while (i<=n)
{
printf("%d\n", 2*i);
i++;
}
return 0;
}
int main ()
{
int x;
printf("Unesite variablu x ");
scanf("%d", &x);
if (x%2==0)
printf("Broj je paran! \n");
else
printf("Broj nije paran! \n");
return 0;
}
32. Učitati trocifreni cijeli broj. Ispremještati mu cifre tako da se dobije najveći mogući broj
sastavljen od te tri cifre. Npr. 476 ==> 764.
#include <stdio.h>
int main()
{
int broj, j, d, s, t, rezultat;
if (j > d) {
t = j;
j = d;
d = t;
}
if (j > s) {
int t = j;
j = s;
s = t;
}
if (d > s) {
t = d;
d = s;
s = t;
}
rezultat = s * 100 + d * 10 + j;
printf("Rezultat: %d", rezultat);
return 0;
}
33. Učitati 2 razlicita cijela broja. Ako su oba parna podijeliti veći sa manjim brojem. Ako su oba
neparna od većeg oduzeti manji broj. Inače sabrati ta dva broja.
#include <stdio.h>
int main()
{
int a, b;
return 0;
}
int main ()
{
Int I, k,n,br=0;
printf("Od broja: ");
scanf ("%d", &k);
printf("Do broja: ");
scanf ("%d", &n);
int main()
{
int i, p, n;
printf("Unesi broj elemenata niza: ");
scanf("%d", &n);
int niz[n]; // rezervisanje prostora za niz - ARRAY
return 0;
}
36. Učitati članove niza. Izračunati i ispisati broj parnih i neparnih članova niza odvojeno.
#include <stdio.h>
int main()
{
int i,n,parni=0,neparni=0;
return 0;
}
37.Učitati 2 cijela broja i izračunati im zbir, razliku, proizvod i količnik. Ispisati one rezultate koji
su trocifreni.
#include <stdio.h>
int main ()
{
int a, b, razlika, zbir;
double proizvod, kolicnik;
printf("Prvi broj: ");
scanf("%d",&a);
printf("Drugi broj ");
scanf("%d",&b);
proizvod = a * b;
razlika = a - b;
zbir = a + b;
if (zbir > 99 && zbir < 1000)
printf("Zbir = %d \n", zbir);
if (razlika > 99 && razlika < 1000)
printf("Razlika = %d \n", razlika);
if (proizvod > 99 && proizvod < 1000)
printf("Proizvod = %f \n", proizvod);
if (b != 0)
{
kolicnik = (double)a / b;
if (kolicnik > 99 && kolicnik < 1000)
printf("Kolicnik = %f \n", kolicnik);
}
else
printf("Nije moguce dijeliti sa 0");
return 0;
}
38.Ucitati niz pa ispisati prvo negativne, pa ostale članove niza. Ispisati članove niza tek poslije
sortiranja.
#include <stdio.h>
int main()
{
int n;
int i;
printf("Unesi broj elemenata niza: ");
scanf("%d", &n);
int A[n];
printf("\nUnesi elemente: \n");
for(i=0; i < n; i++)
{
scanf("%d", &A[i]);
}
int j;
int iTemp;
for(i=0; i < n-1; i++)
{
for(j=i+1; j < n; j++)
{
if(A[j] < 0)
{
iTemp=A[j];
A[j]=A[i];
A[i]=iTemp;
}
}
}
printf("\nIspis niza, prvo negativni:\n");
for(i=0; i < n;i++)
{
printf("%d ", A[i]);
}
return 0;
}
39.Učitati i ispisati dvodimenzionalni niz - matricu nxn. Zatim ispisati članove niza koji su na
glavnoj dijagonali.
#include <stdio.h>
int main()
{
printf("Unesite dimenzije kvadratne matrice:\n");
int i;
int j;
int n;
scanf("%d", &n);
int iMatrica[n][n];
printf("Unesite elemente matrice: \n");
for(i=0; i < n; i++) {
for(j=0; j < n; j++) {
scanf("%d", &iMatrica[i][j]);
}
}
printf("\nIspis matrice:\n");
for(i=0; i < n; i++) {
for(j=0; j < n; j++) {
if(i==j) {
printf("%d ", iMatrica[i][j]);
}
}
printf("\n");
}
return 0;
}
void main() {
char r[100];
int i=0, brojac=0, n;
printf("\nUčitaj riječ:");
scanf("%s", &r[0]);
n = strlen(r);
return;
}
43. Napisati rekurzivnu funkciju koja računa sumu cifara datog cijelog broja n.
#include <stdio.h>
int suma_cifara(int n) {
if(n < 10) return n;
return n%10 + suma_cifara(n / 10);
}
printf("Broj: ");
scanf("%d",&broj_n);
s = suma_cifara(broj_n);
int main()
{
char str[50];
char ch1= 'K' ;
char ch2= 'R' ;
char ch3= 'A' ;
char ch4= 'J';
printf("Prvobitni string: ");
scanf("%s",str);
strncat(str, &ch1, 1);
strncat(str, &ch2, 1);
strncat(str, &ch3, 1);
strncat(str, &ch4, 1);
printf("Novi string: %s\n", str);
return 0;
}