Professional Documents
Culture Documents
C Resenja
C Resenja
3. Napisati program koji ucitava karaktere sa ulaza sve do kraja ulaza (EOF),
a zatim ispisuje broj pojavljivanja svakog samoglasnika (za analizu
samoglasnika koristiti switch naredbu, uzeti u obzir i mala i velika slova).
******
* *
* *
* *
* *
******
*
**
***
****
6. Napisati program koji za uneto n (n>=1) iscrtava slovo X visine 2n+1. Npr.
za uneto n=2 iscrtava se
* *
* *
*
* *
* *
7. Napisati program koji ispisuje max dva cela broja koja se ucitavaju sa
standardnog ulaza.
Koristiti switch.
8. Napisati program koji za ucitani karakter sa standardnog ulaza ispisuje da
li je samoglasnik ili suglasnik ili slovo r.
9. Napisati program koji za uneto n ispisuje "klin" i "trougao". Npr. za n= 5
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
/*
1. Napisati program koji racuna minimum dva uneta cela broja.
Dopuniti program tako da racuna minimum za tri uneta cela broja.
*/
#include <stdio.h>
main(){
int a,b,c,min; /* Deklaracija promenlijvih */
printf("Unesite 3 broja.\n"); /*Ispisujemo poruku korisniku da unese
brojve... */
scanf("%d%d%d",&a,&b,&c); /*Ucitavamo 3 cela broja sa standardnog
ulaza */
min = (a < b) ? ((a<c)? a : c) : ((b<c)? b : c); /* Minimum uneta tri
broja smestamo u promenljivu min */
/*
2. Sastaviti program u C-u koji ucitava N>0 celih brojeva i izracunava i
stampa zbir onih koji su veci od 0.
*/
#include <stdio.h>
main(){
int i,n,x,s; /* Deklaracija promenlijvih */
printf("Koliko zelite promenljivih zelite da unesete? :) \n");
/*Ispisujemo poruku korisniku da unese broj n... */
scanf("%d",&n);
s=0; /*Inicijalizujemo s na pocetku na nulu. To je trenutni zbir :)
jer jos uvek nismo poceli da unosimo brojeve...
Ne zaboravite inicijalizaciju promenljivih!!!*/
/* n puta treba ucita neki broj... Koristimo for petlju */
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if (x>0) /* Ukoliko je upravo ucitani broj pozitivan */
s=s+x; /* Njegovu vrednost dodajemo na trenutni zbir s
i taj rezuletat smestamo u s. To je novo s.
Tj. zbir uvecavamo za x. Moglo
je biti i
s+=x;
*/
}
/*Ispisujemo rezultat... */
printf("suma svih razlicitih od 0 je: %d\n",s);
}
/*
4. Sastaviti program u C-u koji ucitava N>0 celih brojeva i izracunava i
stampa najveci medu njima.
*/
#include <stdio.h>
main(){
int max,x,n,i;
printf("Koliko zelite promenljivih zelite da unesete? :) \n");
/*Ispisujemo poruku korisniku da unese broj n... */
scanf("%d",&n);
/*Ucitamo prvi broj: */
scanf("%d",&x);
max=x; /* Inicijalizujemo promenljivu max na vrednost broja koji je
prvo ucitan.. */
/*Ispisujemo rezultat... */
printf("max= %d\n",max);
}
/*
5. Sastaviti C-program koji ispituje da li je dati broj savrsen.
Broj je savršen ako je jednak zbiru svih svojih pravih delilaca.
*/
#include <stdio.h>
main(){
int i,s,n;
printf("unesite zeljeni broj\n");
scanf("%d",&n);
s=0; /* Zbir delilaca na pocetku inicijalizujemo na nulu... */
for(i=1;i<n;i++)
{
if (n%i==0) /* Ukoliko je n deljivo sa i */
s=s+i; /* Onda s uvecavamo za i (ako je izraz n%i==0
netacan, nece se nista desiti...) */
}
if (s==n)
printf("broj je savrsen\n");
else
printf("broj nije savrsen\n");
}
/*
6. Napisati program koji izracunava broj i zbir cifara unetog prirodnog
broja.
*/
#include <stdio.h>
main(){
int i,s,n;
printf("unesite zeljeni broj\n");
scanf("%d",&n);
s=0; /* Zbir cifara na pocetku inicijalizujemo na nulu */
i=0; /* Broj cifara na pocetku inicijalizujemo na nulu */
do{
i++;
s += n%10; /* Sa n%10 dobijamo ostatak pri deljenju broja n sa
10, tj. cifru koja se nalazi na poziciji desetica u broju n
Uvecavamo s u svakom koraku za
trenutno cifru desetica...
*/
n /= 10; /*U svakom koraku petlje menjamo n tako sto ga
delimo sa 10... (tako "odsecamo" poslednju cifru tj. cifru desetica...
Petlja se ponavlja sve dok n u
jednom trenutku ne postane nula. Tada ce u s biti suma svih cifara, a u i ce
biti broj cifara.
*/
}while(n);
/*
7. Sastaviti C-program koji za uneti broj ispisuje cifru jedinice,
cifru desetice i cifru stotine.
*/
#include <stdio.h>
main(){
int n,i,s;
printf("unesite prirodan broj\n");
scanf("%d",&n);
/*Moglo je i ovako: */
/* if (n<100)
printf("Broj koji ste uneli nije veci od 100\n");
else
for(i=1;i<=3;i++)
{
s=n%10;
n=n/10;
printf("%d\n",s);
}
*/
}
/*
8. Napisati program koji za uneto n i m stampa vrednost proizvoda
P=n*(n+m)*(n+2*m)*(n+3*m)*...*(n+m*m).
*/
#include <stdio.h>
main(){
int n,m,P,i;
printf("unesite n i m \n");
scanf("%d %d", &n, &m);
P=1; /*Na pocetku proizvod inicijalizujemo na jedinicu (neutral za
mnozenje). */
for(i=0;i<=m;i++)
P=P*(n+i*m); /*U svakom koraku P mnozimo sa izracunatim
zbirom: n+i*m... i se menja, ide od nule do m, sto odgovara formuli. */
/*Ispisujemo rezultat... */
printf("P= %d\n",P);
}
/*
9. Napisati program koji za uneto n ispisuje "klin" i "trougao". Npr. za n
= 5
Kod:
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
*/
#include<stdio.h>
main(){
int m,n,i,j,k;
printf("unesite n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
/*U svakom redu najpre ispisujemo i-1 belinu... */
for(j=1;j<=i-1;j++)
printf(" "); /* Moglo je i putchar(' '); */
/*Zatim iscrtavamo n-i+1 kombinaciju '* ' Tj. posle svake
zvezdice ide belina... */
for(k=n-i+1;k>0;k--)
printf("* ");
/*Odmaknemo u svakom redu isto... */
printf(" "); /* Ili npr sa tabulatorima
printf("\t\t"); */
/*Zatim iscrtavamo i kombinacija '* ' Tj. posle svake zvezdice
ide belina... */
for(m=1;m<=i;m++)
printf("* ");
/*Kada zavrsimo iscrtavanje jednog reda, predjemo u novi
red... */
printf("\n");
}
}
/*
10. Napisati program koji za uneto n i uneti karakter ispisuje "romb"
nacrtan unetim
karakterom. Npr. za n = 5 i karakter ?
Kod:
?????
?????
?????
?????
?????
*/
#include <stdio.h>
main(){
int n,i,j,k;
char c;
printf("unesite N i zeljeni karakter\n");
scanf("%d %c",&n,&c);
/*Opet n puta "vrtimo" for petlju, samo primetimo da ovde brojac i ide
unazad (od n do 1)...
Pokusajte da izmenite program tako da se u for petlji i krece
od 1 do n */
for(i=n;i>0;i--)
{
/*Ispisujemo i-1 belinu u svakom redu... (u prvom redu to je
n-1 belina, a u poslednjem (n-tom) redu to ce biti nula belina jer je i tada
1 */
for(j=1;j<i;j++)
printf(" ");
/* U svakom redu ispisujemo n karaktera */
for(k=1;k<=n;k++)
printf("%c",c);
/*Na kraju predjemo u novi red... */
printf("\n");
}
}
/*
11. Sastaviti program koji ispisuje zbir s=1+2^3+3^3+…+k^3 za svako k
(0<k<=n) gde je n zadato sa tastature (n<=10).
*/
#include<stdio.h>
main(){
int n,s,i,j;
s = 0; /*Na pocetku s inicijalizujemo na nulu... */
printf("unesite n: \n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
/* Na trenutnu sumu s dodamo i*i*i */
s = s + i*i*i;
printf("Za k = %d, odgovarajuci zbir je S= %d\n", i, s);
}
}
/*
12. Sastaviti program koji ispisuje k! za svako k (0<k<=n) gde je n zadato sa
tastature. (n<=10)
*/
#include<stdio.h>
main(){
int n,i,s =1;
printf("unesi n\n");
scanf("%d",&n);
/*
13. Napisati C program koji cita tekst sa ulaza sve do pojave znaka EOF i na
izlazu stampa broj redova u tekstu.
*/
#include <stdio.h>
main()
{
char c;
int br_redova=0; /*Na pocetku broj redova je inicijalizovano na
nulu...*/
while ((c=getchar())!= EOF)
{
switch(c)
{
case '\n':
br_redova++;
break;
}
}
printf("\n");
printf("Ukupno redova: %d.\n",br_redova);
}
/*
14. Napisati C program koji ucitava karakter sa ulaza i za uneto slovo p,l,
j ili z stampa ime odgovarajuceg godisnjeg doba, dok u svim ostalim
slucajevim ispisuje poruku Nepoznato slovo.
*/
#include <stdio.h>
main()
{
char c;
printf("Unesite \'p\', \'l\', \'j\' ili \'z\'.\n");
c=getchar();
/*Ucitali smo jedan karakter... Nakon cega ispisujemo odgovarajucu
poruku...
Razmatramo razlicite slucajeve koriscenjem switch naredbe.
Podsetiti se switch naredbe i toga sta se desi ukoliko
uklonimo break;
*/
switch(c)
{
case 'p':
case 'P':
printf("prolece\n");
break;
case 'l':
case 'L':
printf("Leto\n");
break;
case 'j':
case 'J':
printf("Jesen\n");
break;
case 'z':
case 'Z':
printf("Zima\n");
break;
default:
printf("Uneli ste pogresan karakter\n");
}
}
/*
15. Napisati C program koji cita tekst sa ulaza sve do pojave znaka EOF i na
izlazu stampa broj suglasnika.
*/
#include <stdio.h>
main(){
char c;
int br=0;
printf("\n");
printf("Ukupno suglasnika %d. \n", br);
}
/*
16. Napisati C program kojim se vrsi sifrovanje teksta koji se unosi tako sto
se svako pojavljivanje slova A zamenjuje cifrom 4, svako pojavljivanje slova
u zamenjuje slovom Z i svako pojavljivanje cifre 6 zamenjuje slovom w. Tekst
se unosi sa tastature sve do pojave karaktera EOF.
*/
#include <stdio.h>
main(){
char c;
/*
17. Napisati program koji omogucava korisniku da unese ceo
broj sa tastature, a potom ispisuje 0 ako je broj jednak nuli,
1 ako je jednak jedinici i "razlicit od 0 i 1" u ostalim slucajevima.
Program realizovati korišcenjem switch naredbe.
*/
#include <stdio.h>
main(){
int x;
switch(x){
case 0: printf("Uneli ste nulu.\n");
break;
case 1: printf("Uneli ste jedinicu.\n");
break;
default: printf("Uneli ste broj razlicit od 0 i 1.\n");
break;
}
}
/*
18. Napisuje program koji omogucava korisniku da unese niz
karaktera, a potom racuna i ispisuje broj samoglasnika u unetom nizu.
Program realizovati korišcenjem switch naredbe.
*/
#include <stdio.h>
main(){
char c;
int br = 0;
ZADACI ZA VEZBU
DEO 1:
DEO 2:
| 1 2 3 4 5 6 7 8 9 10
--------------------------------------------
1| 1 2 3 4 5 6 7 8 9 10
2| 2 4 6 8 10 12 14 16 18 20
3| 3 6 9 12 15 18 21 24 27 30
4| 4 8 12 16 20 24 28 32 36 40
5| 5 10 15 20 25 30 35 40 45 50
6| 6 12 18 24 30 36 42 48 54 60
7| 7 14 21 28 35 42 49 56 63 70
8| 8 16 24 32 40 48 56 64 72 80
9| 9 18 27 36 45 54 63 72 81 90
10| 10 20 30 40 50 60 70 80 90 100
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
12. Napisati program koji za uneto n i uneti karakter ispisuje "romb" nacrtan
unetim
karakterom. Npr. za n = 5 i karakter ?
Kod:
?????
?????
?????
?????
?????
20. Napisati program koji ispisuje cifru jedinica unetog prirodnog broja.
21. Napisati program koji izracunava broj cifara unetog prirodnog broja.
22. Napisati program koji izracunava sumu cifara unetog prirodnog broja.
24. Napisati program koji uklanja cifru desetica unetom prirodnom broju.
25. Napisati program koji obrce cifre unetog prirodnog broja. Npr. za broj
1234 dobija se broj 4321.
DODATNO:
26.
a) Napisati C program koji za uneti datum u obliku dan mesec godina ( npr.
13 12 2009 ) odredjuje i stampa datum sledeceg dana ( voditi racuna o
prestupnim godinama ).
b) Napisati C program koji za uneti datum u obliku dan mesec godina ( npr.
13 12 2009 ) odredjuje i stampa datum prethodnog dana ( voditi racuna o
prestupnim godinama ).
27.
*****
** *
* * *
* **
*****
*****
* **
* * *
** *
*****
30. Napisati C program koji c(ita tekst sa ulaza sve do pojave znaka EOF i na
izlazu stampa broj redova u tekstu.
31. Napisati C program koji uc(itava karakter sa ulaza i za uneto slovo p,l,
j ili z stampa ime odgovarajuceg godisnjeg doba, dok u svim ostalim
sluc(ajevim ispisuje poruku Nepoznato slovo.
34. Napisati C program kojim se vrsi sifrovanje teksta koji se unosi tako sto
se svako pojavljivanje slova A zamenjuje cifrom 4, svako pojavljivanje slova
u zamenjuje slovom Z i svako pojavljivanje cifre 6 zamenjuje slovom w. Tekst
se unosi sa tastature sve do pojave karaktera EOF.